Back to Projects
SIT ACM Website

SIT ACM Website

Official site for the SIT ACM student chapter, handling events, blog, member and alumni profiles, and certificate verification. Built on Next.js 15 and Firebase, with a role-based admin panel covering nine content types end to end.

Next.js 15React 19TypeScriptTailwind CSSFirebase AuthFirestoreCloudinary

Problem

Student chapters usually run on scattered tools: WhatsApp for announcements, Google Forms for registrations, spreadsheets for member tracking, and no real way to verify who attended an event. There is no single place for a prospective member, an alumnus, or a recruiter to see what the chapter actually does.

Solution

Built one platform on Next.js and Firestore that replaces all of it. Every piece of content (events, blog, gallery, team, alumni, members, certificates) goes through a shared admin panel with full create, edit, and delete, search and sort on every list, and a slide over form instead of a separate page per action. Admin access is invite based: a super admin invites someone by email with a role, and that role decides what they can touch. Certificate verification looks up a certificate ID directly against Firestore, and each member gets a digital ID profile lookup by their ACM ID.

Features

  • •Nine content types manageable end to end from one admin panel: events, blog, gallery, team, alumni, members, certificates, messages, and join applications
  • •Invite based admin onboarding: a super admin invites by email with a role, and the invite is claimed automatically the first time that person signs in
  • •Two admin roles, a content role scoped to only events and gallery, and a super admin role with full access including managing other admins
  • •Google sign-in alongside email and password, both handled by Firebase Auth
  • •A dashboard built on live Firestore aggregations: event counts by status, content totals, and a 12 month event calendar with per day detail
  • •Certificate verification by exact certificate ID lookup against Firestore, with a clear verified or not found result
  • •Rich text event descriptions written in a contentEditable editor and sanitized with DOMPurify before being rendered back out
  • •A shared drag and drop image upload component reused across every content type that needs one
  • •Public digital member profiles looked up by ACM ID, used by students for identity and event verification

Project Gallery

SIT ACM Website Screenshot 1

Admin dashboard overview

SIT ACM Website Screenshot 2

Event editor panel

SIT ACM Website Screenshot 3

Admin settings and roles

SIT ACM Website Screenshot 4

Applications open close toggle

SIT ACM Website Screenshot 5

Certificate verification result

SIT ACM Website Screenshot 6

Public events listing

SIT ACM Website Screenshot 7

Event detail page

SIT ACM Website Screenshot 8

Digital member profile