All across the world, whether in college campuses or other communities, people thrive on being connected to a network. Here at Georgia Tech, like many colleges around the world, our campus culture is comprised of a shared humor exaggerating common woes or sharing group struggles such as poor dining and transportation. Or perhaps making fun of our rival school. We tried to capture these aspects of a social group and put them into one app called Overherd. Many colleges have Facebook groups called “Overheard at [insert college name here]” where they post relatable quotes and content from their college. We wanted to create a similar experience with a location based quote platform, that extended on this functionality. The name “Overherd” came from the idea that college campuses are not altogether different from a herd of animals, travelling together for companionship.
What it does
Our app lets users post and view quotes said by other members of their community. The quotes are all stored with the record location and can be viewed by people nearby. This helps people in the community feel more connected with other community members.
How we built it
The platform is comprised of a backend API and a mobile app. The backend was written in NodeJS with the Express framework connected to a MongoDB database. We stored geography information in MongoDB in the GeoJSON format and we were able to perform geospatial queries in order to get nearby quotes.
For the mobile app, we used the Ionic Framework, a hybrid approach that uses Angular and Typescript to make a cross-platform app that works beautifully and performance blazing fast on both iOS and Android.
The app communicates to the server over a basic REST scheme. Authentication is handled via JSON Web Tokens.
The platform is containerized through Docker and hosted on Microsoft Azure’s Container App Service. The MongoDB instance is powered by Microsoft Azure’s Cosmos DB. We went with containers as it allows us to quickly iterate and deploy new versions of the backend, in addition to letting us scale in the future through a microservices architecture.
Challenges we ran into
After designing the initial idea, we had to prioritize features to work on and which ones to categorize into “stretch goals.” Working with geolocation and geospatial queries provided to be… challenging at times, to say the least.
Also we had to stretch our knowledge to create visually pleasing assets for this application.
Accomplishments that we’re proud of
We were able to spend time polishing the UI and implementing features that contributed to a positive user experience, despite our limited time. It was also many of our first time writing code in Ionic and creating a functional application was extremely rewarding.
What we learned
Manage your technical debt. Things can get out of hand very quickly and it’s important to understand the value of developer time. Don’t work in the
master branch of your git repo no matter how tired you are… It’s one command to check-out a branch. Maps are hard, but not impossible.
What's next for Overherd
Publicly launch on the app stores, image capability, comments, and highlighted events. We are also looking into adding custom tags for different buildings and events.