UHnify: Campus Engagement
A student club platform for the University of Hawaiʻi at Mānoa: browse organizations, keep track of joined clubs, and see their events in a personal calendar.
From finding a club to following its events
Discovering an organization is one part of getting involved. Remembering which groups interested you and finding their next events creates another task. UHnify brings those activities into one application for Mānoa students.
This was a 2023 team project. I worked on the interface and reactive data layer, helping connect club discovery, membership records, and event views.
A directory that leads somewhere
The club finder supports search by name, category filters, and pagination. A student can open a club’s details from the results and add it to their profile. The interface then provides two personal views: My Clubs for the organizations they have joined in the app, and My Events for events associated with those clubs.
FullCalendar presents the event records in month, week, and day views. That connection gives the directory a practical purpose beyond browsing: a club selection helps determine what appears in the student’s calendar.
The relationships behind the interface
- Clubs and profiles hold information about organizations and students.
- ProfileClubs records the relationship between a student profile and a joined club.
- EventClubs connects an event to its club, allowing the personal event view to select events from the student’s memberships.
Meteor publications make data available to the client. React views subscribe to those publications and read the resulting collections through useTracker. This lets the interface respond to changes in the records it is observing.
Creating and maintaining the directory
Club and event forms use Uniforms with SimpleSchema to define their inputs. MongoDB stores the records, while Meteor methods handle actions such as adding and removing a profile’s club membership. The application also includes account sign-in and administration views for maintaining its content.
The project brought interface design and data modeling together: the structure used to store a membership also determines how a student moves from the directory to a useful personal view.