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.
- 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.
- Fork this repository on GitHub.
- Create a Neon project and run
database/setup.sqlin its SQL Editor. - Create a Google OAuth client so students can sign in with Google.
- Import your fork into Vercel and add the environment variables from
.env.example. - 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.
| 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 |
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)
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.