CampusConnect
A Spring Boot REST API with a lightweight frontend where AUB students discover and register for extracurricular events, club managers curate clubs and events, and admins oversee users and platform statistics.
Technologies used
- Java 17
- Spring Boot 3
- Spring Data JPA
- H2
- SpringDoc OpenAPI
- Maven
Problem
Extracurricular life at AUB is coordinated through scattered announcements — students miss events, club managers have no participant lists, and there's no single view of what's happening across campus.
Solution
CampusConnect models the full lifecycle in one role-aware API: students browse events with club, date, and keyword filters and register or cancel before the start date with duplicate-registration blocking; managers create clubs and events and pull participant lists; admins deactivate users and view platform statistics. A seeded H2 database, Swagger UI, and a fetch-based frontend make the whole system runnable with one Maven command.
What I Learned
Designing the API around roles from the first endpoint — rather than bolting on permissions later — kept the controllers thin and made every new feature a question of who can do this, not how do we check.
More University projects
University
AI Workflow DSL
A domain-specific language for describing multi-agent AI workflows, built for EECE 334.
University
AUB Course Planner
A university planning concept for comparing courses, requirements, and semester load.
University
AUBus Premium
A PyQt-based carpooling platform connecting AUB student drivers and passengers in real time.