For this class project, our development platform was of course Android devices. Besides using the common Android libraries to help with UI, activity lifecycles, and touch listeners, we also used them to access the device hardware. In particular, we used the camera and location API's to allow users to share media with people in their respective local communities.
Given that we only had a few weeks to develop our application, implementing our own backend solution was not a feasible option. Instead, we looked for Baas (Backend as a Service) solutions that were used in the industry. Firebase was perfect for the rapid prototyping we were undergoing.
The storage functionality in Firebase gave us the ability to store all the images that were uploaded from our application to the cloud. Storing them in one centralized location can allow for other platforms such as web and iOS to easily access the same data.
Firebase's real-time database allowed us to store references to the images we stored in storage to quickly download the images to the devices. Using the glide library, downloading images was a simple process that only left formatting and styling as related tasks to handle.