We as a group are always seeking other activities to further our skill and knowledge of our field, but finding those activities is not always intuitive. Our hopes is that this web app will make it easier for students to join meet ups, events, or even see available student discounts based on their area - all in one site just for students.
Nearus holds a database of known events or promotions occurring and their location. Users will be able to submit new events and deals to the community for others to take part in. A feed of events will be shown to users, and a map will show the location and cost, if any.
The final proof-of-concept utilizes a PostgreSQL database with PostGIS running on GCP CloudSQL, an API layer written in Python using Flask running on GCP Cloud Run to expose a simple REST API for the front end to communicate with. The front end is a static vanilla HTML/CSS/JS website that uses the Google Maps API and the aforementioned REST API to provide the UX.
Challenges we ran into
None of our members were particularly experienced. The back end database and API layer took much longer than expected. The front end was originally built with React.js but as time became tight was restarted in Svelte, then in vanilla JS. Many plans such as Auth0 authentication, diverse data types, and more UI features had to be dropped due to time constraints.
Accomplishments that we're proud of
We are proud to have completed a full stack application, despite the missing features. We believe we have all come out ahead after developing this project, and if we were to build something again we would be able to not only complete our goals, but tackle even more ambitious ideas. The API documentation is also very thorough.
What we learned
We are also proud to have utilized unfamiliar technologies such as Google Cloud Platform and GIS. The intricacies of full stack development is something we all underestimated but thoroughly enjoyed learning about as we hacked.
What's next for Nearus: Connect Beyond the Classroom
Adding support for more diverse information in the back end and API as well as rebuilding the front end on a more robust platform would be the first steps. Further down the line would be hardening our infrastructure towards attack and implementing better safety and authentication for our users. Finally, a complete product would have more social features allowing users to share events to social media, track sign ups, and algorithmically suggest nearby events or points of interest.