Back to Projects
FinishedUniversityCase study

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.

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.

Tech Stack

Java 17Spring Boot 3Spring Data JPAH2SpringDoc OpenAPIMaven

Screenshots

More University projects

University

University

AI Workflow DSL

A domain-specific language for describing multi-agent AI workflows, built for EECE 334.

University

University

AUB Course Planner

A university planning concept for comparing courses, requirements, and semester load.

AUBus Premium landing screen - dark theme with server connection setup
Login screen with email/username and Google sign-in option
Google OAuth account picker

University

AUBus Premium

A PyQt-based carpooling platform connecting AUB student drivers and passengers in real time.