CAPACITY
A crowdsourced mobile app that shows you if your favorite places are crowded
Technologies: JavaScript, React-Native, Firebase (noSql), Google Maps API, Expo
Team: Laura Maranto, Groana Melendez, Jennifer Rafael, Samantha Jardanowski
Role: I spearheaded the Firebase Firestore and storage integration, mastered reading and writing to the database, coded the user’s current location, the user favorites feature, and the camera to storage feature.
On app startup you are welcomed with a loading screen. Once started the app navigates to your current location surrounded by a heat map that shows you where the most crowded places are.
From the home screen you can search for places in the Google Maps API and the search will autofill to places closest to you. When you click on a place it will open the modal where you can view what type of place it is, if is open, and what its current capacity is. From this screen you can either say you are there now or thinking of going to get more information.
The I’m Here and I’m Thinking of Going screens are the workhorses of the app. Because the data is crowdsourced, users must use the screens to input how crowded the place they are at is, leave a photo, and leave additional feedback.
Feature 1 - live photo
This feature allows the user to take a photo from the I’m Here Screen in the app when they are visiting a place. The latest photo taken by a user will be displayed on the I’m Thinking of Going Screen. The app will prompt the user for permission to use their camera. This feature utilizes Firebase Storage to store the photo and then its location is referenced by the Firebase Firestore Database. Only the latest picture taken is displayed so that it is only representing the latest crowdedness.
Feature 2 - user favorite places
This feature allows the user to save their favorite places when they have made an account and logged in to the app. They can click the star icon on the I’m here Screen or I’m Thinking of Going Screen and it saves the place to that Users collection of favorite places. They can then visit the Favorites Screen to see the current capacities of all of their favorite places on one screen. Because of the noSql aspect of Firebase Firestore this uses multiple queries to display the user’s favorites.