Skip to content

Repository files navigation

Classroom Management System

An open-source class portal for university batches and their class representatives (CRs). It covers the live class routine with odd/even lab weeks, announcements, exams and assignments, Google Drive course files, polls, study groups and push notifications. Students can install it on their phones like an app.

You can deploy your own copy for free without writing any code. Fork the repo, create a Neon database, deploy to Vercel, sign in, and finish the setup in your browser.


Features

  • Class routine: a weekly timetable with lab groups, alternating Type A / Type B weeks and skipped (holiday) weeks. Admins can also post one-off changes (cancelled classes, makeup classes, room changes and time changes), and students see them immediately.
  • Announcements: categorized notices with course tags, in-app notifications and browser push notifications.
  • Exams & assignments: countdowns, syllabus, venue and submission links, plus a per-student submission checklist.
  • Course resources: files stored in Google Drive and organized by course and category, with shared Drive folder sync.
  • Polls & study groups: anonymous class polls and course-based study groups.
  • Roles: students, admins (class representatives) and one super admin. Every admin action is written to an audit log.
  • Platform Setup: the super admin controls branding, sign-in rules and routine rules from the admin panel.
  • Installable app (PWA): works on Android, iOS and desktop, and opens recently viewed pages offline.

Deploy your own (about 30 minutes)

  1. Fork this repository on GitHub.
  2. Create a Neon project and run database/setup.sql in its SQL Editor.
  3. Create a Google OAuth client so students can sign in with Google.
  4. Import your fork into Vercel and add the environment variables from .env.example.
  5. Sign in with the email you set as SUPER_ADMIN_EMAIL. The Platform Setup page opens automatically; enter your class name, sign-in rules and routine rules there.

The full step-by-step guide is in docs/DEPLOYMENT.md. Every credential you'll need is listed in docs/CREDENTIALS.md, and Google sign-in is walked through screen by screen in docs/GOOGLE_CLOUD_SETUP.md.

Documentation

Guide What it covers
Setup flow & credentials Start here. The whole flow on one page, every credential, and what the background workers need
Deployment Fork → Neon → Google OAuth → Vercel → first sign-in, with troubleshooting
Google Cloud setup Click-by-click: consent screen, OAuth client, Drive API, service account key
Configuration Every environment variable, and every Platform Setup option
Performance Caching layers, Upstash Redis, same-region hosting, Postgres tuning checklist
SEO Getting the portal found on Google and Bing: Platform Setup SEO fields, Search Console, sitemap
How it works Roles, sign-in, the routine engine, notifications, files, caching, project layout
Database Tables, relationships, and how to change the schema
Google Drive Optional: storing course files in Google Drive
Push notifications Optional: phone and browser notifications with Firebase
Local development Running the project on your computer and running the tests

Tech stack

Next.js 14 (App Router) · TypeScript · Prisma · PostgreSQL on Neon · NextAuth v5 (Google sign-in, plus password and TOTP 2FA for admins) · Tailwind CSS · GSAP and Three.js · Google Drive API · Firebase Cloud Messaging · Upstash Redis (optional)

License

Released under the Syed Systems Public Source & Dual Commercial License; see LICENSE. The free community license lets you deploy and modify the portal for personal, classroom, department or institutional use, as long as the "Made with ❤️ by Syed Systems" footer stays visible. To remove the attribution or white-label the product, contact Syed Systems for a commercial license.

About

An open-source class portal for university batches and CRs featuring live routines, announcements, exams, Drive resources, polls, and PWA.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages