Inspiration

Finding or creating student groups at school, whether it be for studying, clubs, or organizing events, can be awkward and time-consuming. Many students want to connect but don’t know where to start. We built onSite to make it simple to discover school communities, meet classmates, and collaborate both inside and outside the classroom.

What it does

  • Lets users create their own groups (coves) for studying, hobbies, or activities in just a few clicks.
  • Helps students discover and join school groups based on interests or subjects using advanced search features like tags.
  • Offers organized group chats for different topics (like general, events, or resources) inside each group.
  • Provides direct messaging without needing phone numbers or social media.
  • Includes "Applications", group tools such as a shared calendar that owners can add to groups, to suit the needs of their student group.

How we built it

For the front end, we built the UI in JavaFX because the team already had experience with it and it gave us full control over look-and-feel without fighting framework conventions. JavaFX let us deliver a clean, minimalist interface while keeping the app responsive and accessible. For the backend, instead of stopping at a simple, surface-level prototype, we committed to building OnSite on proper database structures, shifting the project from a mock demo to a properly functional and extensible platform. We used Supabase as the main data storage system in the backend to accelerate development while keeping full relational control over our data model and adding realtime features with minimal ops. User information, groups, direct messages are all stored in the database.

Challenges we ran into

Not all the team members were familiar with database systems like Supabase, and we frequently faced multiple confusing errors and unexpected behaviours while adding new features, all of which required tedious debugging. Furthermore, time was definitely the biggest issue we faced, as initially we planned to have other features like a student marketplace, but we soon realized we simply did not have the time to make all the features we wanted. This forced us to reconsider and only focus on the features that were most important.

Accomplishments that we're proud of

Instead of simply making a prototype, we decided to make onSITE from proper database structures to ensure that it would In under a day we designed and shipped a complex data storage structure that supports users, profiles, groups, membership, messages, tags and modular group applications. We also managed to build a scalable foundation through the "Applications" feature, which will ensure the app remains relevant as time goes on.

What we learned

Our team all gained invaluable experience with handling databases and using SQL, which will definitely help with our future project.

What's next for onSITE

  • Create more applications to add to groups
  • Add more customization to groups, e.g. chat types or roles
  • Add better admin system (ability to make more than one admin, transfer ownership etc.)

Built With

Share this project:

Updates