The SBHS Club Portal is a web application designed to efficiently manage data for over 50 clubs and 3,000+ students at South Brunswick High School. It automates club attendance tracking, centralizes storage for club files, meeting schedules, and announcements, and integrates seamlessly with the school's Google accounts for easy access and management.
You're right—GitHub README files don’t support inline CSS like border-radius or box-shadow. Instead, here’s an optimized version that works well in GitHub’s Markdown rendering:
Seamlessly integrates with school Google accounts for easy access and management:
- Automatic Administrator Privileges: Teachers (
@schools.org) can create, manage, and oversee clubs. - Automatic Student Privileges: Students (
@sbstudents.org) can join invited clubs and check in.
Choose between light and dark modes for a comfortable user experience.
| Dark Mode | Light Mode |
|---|---|
![]() |
![]() |
Enhances efficiency by verifying attendance through:
- A 4-digit check-in code
- Location proximity or school Wi-Fi connection
| Attendance Code | Verification Screen |
|---|---|
![]() |
![]() |
Admins can monitor and validate check-ins efficiently using the same 4-digit code + location/Wi-Fi verification system.
| Create Check-ins | Check-in Logs |
|---|---|
![]() |
![]() |
Here’s the improved version formatted for GitHub’s Markdown:
A place to switch modes and log out.
| Profile View | Logout Option |
|---|---|
![]() |
![]() |
A unified platform for club files, meeting schedules, and announcements, ensuring streamlined communication.
|
|
|
|
|
-
Clone the Repository:
git clone https://github.com/vigneshsaravanakumar404/SBHS-Club-Portal.git cd SBHS-Club-Portal -
Install Dependencies: Ensure you have Node.js installed. Then, run:
npm install
-
Set Up Environment Variables: Create a
.envfile in the root directory and configure the necessary environment variables, such as database connection strings and Google API credentials. -
Run Database Migrations: If using Prisma, execute:
npx prisma migrate deploy
-
Start the Application:
npm start
The application can be customized through various configuration options:
- Database: Configure your database settings in the
.envfile. - Google Integration: Set up Google API credentials to enable account integration.
.png)
.png)
.png)
.png)
.png)
.png)
.png)

