As two students entering university during the COVID-19 era, meeting new people in our university has been a daunting task. Classes started being given through Zoom, so the ways everyone knew how to make friends didn't work for us. This is why we made UniFy. We wanted to make something that would stand the test of time. Since millions of other high-school graduates and first year students are going through this, we wanted to create an application that put our skills to the test, while also having a real-world application.
What it does
UniFy makes connecting with your university peers easier with a messaging service, while helping you organize your busy schedule to make sure you can finish that one assignment before meeting up with your friends (online, of course). The Dashboard section gives you a quick look into what due dates are coming up on your calendar and to-do list, while also showing you your latest messages. The Social section suggests you new friends based on similar hobbies you have, and letting you message each other to talk about anything you might find interesting! The Calendar section handles displaying your events neatly so you can see everything you've got coming up, making any sort of planning as stress-free as possible. The Todo section works with the calendar to help you set your tasks as events, and make sure you're up to date with them.
How we built it
UniFy is an Angular application built with Firebase as the backend to store chat messages and calendar events on a user-per-user basis. Upon reaching the main page, it prompts the user to sign up or login, where they will be able to access the rest of the app. It uses components and routing to display different pages based on what the user needs, allowing for features to be implemented and modified modularly.
Challenges we ran into
This has been our biggest project to this date. Having a team of just two people for such a big project was our toughest challenge by far, since many features had to be cut from our initial version due to time constraints. Also, since one of our members is a more experienced mobile developer, it was his first time making a web-app so distributing project tasks became a challenge too.
Accomplishments that we're proud of
Honestly, we still can't believe that we were able to make a fully-functional messaging component before the deadline. We're also really proud of how we were able to make the application look, given that most of our time went towards making it work first. With this being our first hackathon, we're really proud with what we were able to come up with.
What we learned
So. Many. Things. We learned a lot from just working with each other and sharing our programming knowledge. Not only that, but since we wanted to make a bigger project, we learned how to decide what our priorities really are when time is running out. We also learned a lot about working with one-another, being able to swap tasks and have a second pair of eyes to look over our code and spot something we obviously missed. Both of us have web development experience, but this is our first collaborative experience.
What's next for UniFy
Our next steps with Unify, include building a mobile app for Android and iOS as most of our target audience use handheld devices more than websites for productivity apps. Also, to make our product more scalable we plan on switching the backend from Firebase RealtimeDB to firebase firestore. Firestore doesn't have any limits on concurrent users accessing the database and is also a more economical option. We also plan on improving calendar notifications by sending an automated email to users with their daily tasks. That way if people don't login to the website they can still get notifications.