Howdy!!! 🤠
💭 Inspiration
As college students, we realized just how much school spirit plays into our everyday lives. In addition to creating a major sense of pride, it's one of the strongest ways to feel connected at a new college and helps many find a place where they belong. We wanted to capture the feeling of school spirit (as big as it was) and apply it towards encouraging students to do social good, while also finding ways for all students of all fields in a college to participate together.
Now, with Campus Connect, students have not only a way to share in their school spirit but also build and compete against other colleges using this same system of social good.
🖥 What it does
Campus Connect, at its core, is a college community app that approaches social good with the powerful pride of school spirit. Through friendly rivalry and competition, schools and colleges can compete with one another in a comprehensive ranking system, where individuals can put their school spirit on show.
Here's how it works:
Each user is linked to the college they go to when they create an account. On the main page, the app and the idea of social good come from two different opportunities: odd jobs and community events. Jobs can be specific and personalized, coming from users that need assistance for a personal task, such as moving items out of a dorm room or wanting help painting a fence. Events are larger, community activities that focus on public services and volunteering around the campus, city, and community. Both jobs and events can be started and attended by students in a college.
Attending events and completing jobs gives experience, which counts towards both personal XP and the overall ranking of college spirit. These experience points displayed on a user's profile page are a measure of a student's service and dedication to their campus - the larger a user's XP, the more their college ranking benefits.
A college leaderboard can also be visited, fostering friendly competition and instilling a drive to push one's own college to the top. School spirit wouldn't be the same without some form of competition, right? Our hopes are that this system makes it easier for students to help others and be helped, while also increasing the amount of campus-wide events and opportunities.
🛠 How we built it
The backbone of our project is thanks to Flutter, a powerful mobile framework that supports both Android and iOS applications. We have Figma to thank for being able to prototype and design together on the cloud, which also became the basis for our UI. Flutter made it nice and easy to implement needed widgets, while Figma was the prototype for each page.
In order to implement a map, we used Google's Maps API for Android and iOS to create a map that would serve as the place for markers that indicate the locations of events and jobs. We also needed to somehow reach a database of all colleges in the US, and during our search, we found "University Hipolabs API," which provided a list of all colleges, as well as Clearbit's "Logo API", which returned a logo of a website passed in the API call. By combining these two tools, we were able to programmatically generate a list of colleges in the US and pull their logo if available.
Our data is all stored on the cloud using Firebase Firestore and Cloud Storage. These Google-provided tools enables our app to maintain a single database across all instances and easily share data between devices.
In order to make accepted events and jobs disappear from the dashboard after time has passed, we relied on serverless functions deployed on Firebase Cloud Functions and written in TypeScript, which checks each minute if any accepted events have passed the current time and updates the Firestore database accordingly, allowing our app to remain clean and clutter-free.
🛑 Challenges we ran into
Creating an app with as large a scope as Campus Connect definitely came with challenges:
- Since there was no comprehensive API or database that met all our needs, we needed to utilize multiple sources and mesh them together to create a working backend
- Testing the serverless functions took a while, as we had to deploy and redeploy to production to test on our data
- Unrelated to coding, knowing when to get some sleep was pretty difficult. We ran into some trouble keeping our eyes open, and slept irregularly during the middle of the hackathon.
🏆 Accomplishments that we're proud of
We are really proud of our UI/UX. It wasn't perfect, and it took some tries before we managed to successfully implement it somewhat seamlessly, but it turned out great in our eyes.
Despite the hackathon only being 24 hours, we also managed to deploy a fully functioning, dynamic backend system that takes care of a good variety of things: ranking colleges, tracking locations, listing jobs and events, and authenticating user login - all deployed on Firebase.
🧠 What we learned
Being one of our first hackathons back in-person since March 2020, we were excited to delve back into the atmosphere of a hackathon, and we learned an incredible amount.
Starting from the first few hours of the hackathon, we utilized Figma and its incredible capabilities of designing beautiful UIs and app pages. We have Figma to thank for learning visually-pleasing color combinations and overall being able to implement similar designs in Flutter. Learning how to create our own widgets in Flutter proved helpful as well, especially since they could be specialized for different purposes, both in front-end and back-end development.
For our backend team, this was also a learning opportunity in the field of various APIs. We learned how to implement Google Maps directly in Flutter using Google's Maps plugin/API and also discovered some neat APIs from University Hipolabs and Clearbit's which helped us pull college lists and their respective logos. We were also able to explore and finally work our way through implementing "log in" and "sign-in" features with Firebase authentication.
Last, but definitely not least, we learned how much fun an in-person hackathon could be again. Aside from being able to work on real-world development with friends, being in an area with other professionals, mentors, and like-minded students provided an unparalleled and unforgettable experience for us.
✏️ What's next for Campus Connect
We are by no means completed with this project - we have broader horizons we'd like to touch on even after this hackathon is complete. Our app has so much more potential that couldn't be touched on within the short 24-hour timeframe.
Primarily, we want to fully realize our goal of "anyone can participate in fostering school spirit," regardless of the field of study or any other limitations. We want to provide opportunities to each and every student to represent the college they attend, especially in the realm of competition and accomplishment. For example, setting up a system where colleges' sports teams can gain XP and increase their school's ranking following a win is one of our future goals. Perhaps creating a winning app in a hackathon or having a piece of artwork displayed at an exhibit could also help increase college standing.
Ultimately, we just want everybody in college to be able to participate, and are excited to see how we can make it happen.
Thanks and Gig 'em! 👍
Built With
- api
- dart
- figma
- firebase
- firebase-cloud-functions
- firebase-coud-storage
- firestore
- flutter
- google-maps
- serverless-functions
- typescript
Log in or sign up for Devpost to join the conversation.