Inspiration
Due to the COVID-19 Pandemic, gatherings are no longer the same and people have to maintain distances in public areas. Government SOPs have been enforced so that only a certain number of people can be allowed inside a store. Some stores have different cap spaces, numbers that are not presently available to the public. This leads us to develop our idea of Crowdlytics, which tracks the ratio of the current number of people in public spaces and the max number, and makes it available for the world to see.
What it does
Crowdlytics is split into a mobile app and a web app. The mobile app is used by people who operate public businesses or gatherings. Wherein they can manually track the number of people coming in and out of their gathering. The second part (web app), is a map with all the different tracked spaces which gives info to visitors about the current population in those public spaces. This allows visitors to make an educated decision on whether they should visit.
How we built it
The mobile app is built with Flutter. The Web App is built with Vue.js. Our Backend uses Spark Java and a MongoDB Cluster hosted on MongoDB Atlas.
Challenges we ran into
- Supporting Google Sign-in both IOS and Android, as both required diverse setup.
- Deciding between which features had a higher priority with time constraints.
- Using the less popular Spark Java for backend as opposed to Node.js
Accomplishments that we are proud of
- Building our first end to end application, which touches upon all different parts of a tech stack.
- Being able to communicate with multiple front-ends and a REST API
- Being able to properly collaborate using an adequate workflow
- Being able to manage our time well and planning our goals
What we learned
- How to build a full-stack application.
- Using Google OAuth
- Using well defined debugging practices
- Interfacing with the MongoDB Database i.e. counting the size of our Sessions collection to see number of online users
- Optimizing the Vue js frontend web with a Vue plugin for MapBox
What's next for Crowdlytics
- A native app for clients instead of a web app.
- Native Notifications instead of Email notifications
Log in or sign up for Devpost to join the conversation.