The premier open-source contribution and competition tracking platform for student software engineers at the Institute of Science & Technology (IST Bengaluru).
Maintained underIST-ZenithenLab.
- About The Project
- Key Features
- System Architecture
- Technology Stack
- What We Accomplished (Recent Work)
- Project Directory Structure
- Getting Started & Local Setup
- Quality Assurance & Automated Testing
- What Should We Do Next (Roadmap)
- Contributing & Community
- License
ZenithenOpen was built to solve the real-world gap between academic computer science coursework and authentic production software engineering. Rather than writing duplicate classroom assignments or generic tutorial clones, ZenithenOpen guides students into shipping verified, production-grade pull requests to campus and global open-source ecosystems.
- Proof of Work Over Fabricated Credentials: Student reputations are established purely through authentic git commits, verified pull request reviews, and merged production code.
- Zero Fake Data Policy: No simulated student rosters or inflated counters. Metrics operate on an authentic baseline and scale organically as real students link their GitHub accounts.
- Low Barrier, High Ceiling: Complete beginner onboarding starting from good-first-issues (
IST-ZenithenLab/First-PR), escalating to enterprise distributed architectures and Google Summer of Code (GSoC) readiness. - Campus First, Globally Connected: Built specifically for IST Bengaluru, yet architected around open industry standards (GitHub REST/GraphQL APIs, OAuth 2.0, PostgreSQL, Redis).
-
Strict 5-Tier Sorting Hierarchy:
-
Tier 1: Verified Quality Merged PRs (repositories with$\ge$ 100 stars and$\ge$ 100 forks). -
Tier 2: Total Pull Requests authored across all repositories. -
Tier 3: Active Open Pull Requests currently undergoing review. -
Tier 4: Closed / Iterated Pull Requests. -
Tier 5: Total Merges on Campus Repositories.
-
-
Multi-Timeframe Filtering: Real-time aggregation across
Week(sprint),Month(milestone), andOverall(all-time hall of fame). - Dynamic Rank Badges: Sprint Champion π, Code Artisan β‘, Rising Contributor π, and Campus Pioneer π.
- Directory of verified campus projects maintained under
IST-ZenithenLab. - Dynamic project deep-dives featuring live stars, forks, commit frequency, primary languages, open opportunities, maintainer rosters, and top contributors.
- Automated GitHub metadata synchronization via
/api/projects/sync.
- Real-time catalog of beginner, intermediate, and advanced open issues.
- Direct synchronization with GitHub Issues tagged
good-first-issue,help-wanted, orbeginner. - Filterable by tech stack (TypeScript, Python, Go, Rust, C++) and estimated difficulty.
- 4 curated multi-week curriculums:
- Full-Stack Web with Next.js & TypeScript (6 Weeks)
- Applied AI & Open Data Science (8 Weeks)
- DevOps, Containers & Cloud Engineering (6 Weeks)
- Google Summer of Code (GSoC) Playbook (8 Weeks)
- Interactive student progress persistence and milestone checklist tracking.
- Algorithmic IST enrollment validation (
1SV23CS042,SV24AI015). - Automatic academic department decoding (CS, AI, DS, IS, IT, EC, CY, BT).
- Dynamic year-of-study inference based on enrollment batch digits.
- Resilient fallback: Operates standalone without requiring private database rosters in version control.
- Real-time Discord and Telegram webhook broadcast engine for merged pull requests, quality contributions, and swag redemptions.
- Rich Discord embeds and formatted Telegram alerts with non-blocking async dispatch and safety timeouts.
- Step-by-step interactive terminal walkthrough guiding students through:
- Forking official repositories under
IST-ZenithenLab. - Local cloning with personalized git configurations.
- Feature branch creation, commit conventions, and rebase hygiene.
- Pre-flight quality verification (
lint,typecheck,test). - Pull request drafting with peer reviewer tagging.
- Forking official repositories under
- Omnipresent keyboard-driven search modal with fuzzy matching across students, projects, documentation, and platform routes.
- Category pills (
All,Pages,Projects,Contributors) with arrow key navigation.
- Campus event discovery with RSVP capacity tracking.
- One-click Google Calendar integration and
.icscalendar file downloads.
- Automated tier-based merchandise unlocking based on verified merged PR counts:
- Tier 1 (1 PR): Digital Campus Contributor Badge & Hall of Fame spotlight.
- Tier 2 (5 PRs): Official Vinyl Sticker Pack & Git cheat sheet poster.
- Tier 3 (15 PRs): Custom ZenithenOpen Enamel Pin & Contributor T-Shirt.
- Tier 4 (30 PRs): Heavyweight Embroidered Community Hoodie.
- Secure, unguessable voucher code generation (
SWAG-2026-IST-XXXX).
ZenithenOpen is engineered as a Modular Monolith using Next.js App Router, prioritizing single-deploy simplicity, end-to-end type safety, and zero network serialization overhead.
[ Browser / Mobile Client ]
β
βΌ HTTPS
[ Next.js 16 App Router Gateway ]
β
ββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββ
βΌ βΌ
[ Server Components / SSR ] [ API Route Handlers (/api/*) ]
β β
ββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
βΌ
[ Business Domain Logic ]
(Members, Leaderboard, Opportunities, Swag, Mentorship, Events)
β
βββββββββββββββββββββββββ΄ββββββββββββββββββββββββ
βΌ βΌ
[ PostgreSQL Database ] [ Upstash Redis Cache ]
- 16 Prisma Models - API Rate Limiting
- Supabase Managed Connection - Hot Leaderboard Cache
- Connection Pooling - GitHub Quota Protection
β β
βββββββββββββββββββββββββ¬ββββββββββββββββββββββββ
βΌ
[ GitHub REST & GraphQL API ]
- Organization Sync Engine
- Real-Time Webhook Consumer
| Layer | Technology | Purpose |
|---|---|---|
| Framework | Next.js 16 (App Router) | Turbopack compilation, React Server Components, Route Handlers. |
| UI Runtime | React 19.3.1 & React DOM 19.3.1 | Latest React ecosystem with unified peer dependencies. |
| Language | TypeScript 5 | Strict type-safety, 0 compilation errors across 100% of routes. |
| Styling | Tailwind CSS v4 & PostCSS | GPU-accelerated utility styling, chromatic dark-mode palette. |
| Icons & Design | Lucide React + Custom SVG Brand Kit | Centralized vendor brand assets (GitHub, LinkedIn). |
| Database | PostgreSQL 16 (Supabase) | Relational persistence, JSONB support, foreign key cascades. |
| ORM | Prisma 6 | Type-safe query building, declarative schema migrations. |
| Cache & KV | Redis 7 / Upstash Serverless | Distributed caching, request rate-limiting, instant fallback. |
| Deployment | Docker & Vercel | Multi-stage Docker containerization and edge hosting. |
Through our latest engineering milestones culminating in v1.48.0, the platform underwent comprehensive architectural hardening and refinement:
- Frontend Removal: Deleted
/resumeinteractive resume editor and/resume/share/[token]public shared candidate dossier pages. - Backend Removal: Deprecated and deleted all resume API endpoints (
/api/resume,/api/resume/[username],/api/resume/share,/api/resume/share/[token],/api/resume/badge/[username]). - Component & UI Removal: Removed proof-of-work badge modals (
components/resume/proof-of-work-badge-card.tsx). - Navigation & Search Cleanups:
- Removed
CREDENTIALS & RESUMEsection andFileTexticon from the sliding drawer sidebar (components/navigation/sidebar-menu.tsx). - Removed "GitHub Resume Builder" from the platform footer (
components/navigation/footer.tsx). - Removed
page-resumefrom the global command search index (app/api/search/route.ts). - Removed resume link buttons from the student preview modal (
components/members/student-preview-modal.tsx) and member profiles (app/members/[username]/page.tsx).
- Removed
- Types & Mock Data Cleanups: Purged unreferenced
ResumeProfileDataandMOCK_RESUME_DATAfromtypes/index.tsandlib/data/mock-data.ts.
- Aligned
app/api/students/leaderboard/route.tswith the test specification: Quality Merged PRs$\to$ Total PRs$\to$ Open PRs$\to$ Closed PRs$\to$ Campus Merges.
- Resolved implicit
anyparameter types inlib/github/sync.ts. - Purged stale
.nexttype artifacts from deleted routes. - Achieved 0 TypeScript errors with
tsc --noEmit.
- Expanded backend verification to 32 dedicated suites with 962+ assertions.
- Automated test runner verifies auth validation, database models, caching, sync logic, and all public API routes with resilient offline fallbacks.
- Upgraded
reactandreact-domto19.3.1concurrently, resolving peer dependency splits.
ZenithenOpen/
βββ app/ # Next.js App Router
β βββ (public)/ # Public exploration pages
β βββ achievements/ # Hall of Fame and milestone badges
β βββ admin/ # Platform administration console
β βββ api/ # Full-stack backend API Route Handlers
β β βββ achievements/ # Badges and first PR stories
β β βββ activity/ # Real-time campus contribution pulse
β β βββ auth/verify-usn/ # IST USN enrollment validator
β β βββ community/swag/ # Contributor tier merchandise claims
β β βββ events/ # Campus workshops and calendar feeds
β β βββ github/ # Sync engine and live webhook handler
β β βββ health/ # Production uptime and environment probe
β β βββ learning-paths/ # Curriculum progression endpoints
β β βββ members/ # Contributor profiles directory
β β βββ mentorship/ # Peer matching connection routes
β β βββ metrics/ # Community telemetry analytics
β β βββ opportunities/ # Good-first-issue exploration
β β βββ projects/ # Repository directory and deep-dives
β β βββ search/ # Global fuzzy search command palette
β β βββ students/leaderboard/ # 5-tier ranked contributor competition
β βββ community/ # Community showcase and swag store
β βββ events/ # Workshop calendar & RSVP hub
β βββ leaderboard/ # Contributor competition standings
β βββ learning-paths/ # Structured engineering tracks
β βββ members/ # Contributor directory and [username] profiles
β βββ mentorship/ # Student-to-mentor matching application
β βββ opportunities/ # Filterable good-first-issue board
β βββ programs/ # Campus open-source movement & tracks
β βββ projects/ # Campus repository showcases and [slug] views
β βββ resources/ # Interactive First PR Guide and technical articles
β βββ globals.css # Linear-grade design tokens & animations
β βββ layout.tsx # Root layout with providers & navigation
β βββ page.tsx # Interactive homepage with 3D canvas
βββ components/ # Reusable React UI Components
β βββ 3d/ # 3D interactive floating canvas & physics
β βββ dashboard/ # Hero section, live counters, terminal preview
β βββ members/ # Student preview modals & badges
β βββ navigation/ # Navbar, sliding sidebar drawer, footer
β βββ ui/ # Headless primitives (Button, Card, Badge, Input, Icons)
βββ docs/ # Engineering Documentation
β βββ architecture.md # Modular Monolith specification
β βββ development-log.md # Living milestone changelog
β βββ open-source-and-database-guide.md # University USN & DB guide
β βββ roadmap-next-steps.md # Detailed future engineering roadmap
βββ lib/ # Core Libraries & Shared Infrastructure
β βββ auth/ # USN validation and role authorization
β βββ data/ # Mock data, baseline datasets, technical articles
β βββ db/ # Prisma client singleton and database abstraction
β βββ github/ # Octokit REST client, sync engine, webhooks
β βββ redis/ # Upstash Redis client with resilient in-memory fallback
β βββ env.ts # Zod-validated environment schema
β βββ utils.ts # Tailwind class merger and formatting helpers
βββ prisma/ # Database Schema & Migrations
β βββ schema.prisma # 16 relational models & enums
βββ scripts/ # Operational & Diagnostic CLI Tools
β βββ preflight.ts # Strict pre-deployment environment & probe audit
β βββ seed-production.ts # Database seed runner with baseline data
β βββ clean-projects.ts # Repository sanitizer utility
βββ tests/ # Automated Quality Assurance Suites
β βββ backend/ # 32 backend test suites (962+ assertions)
β β βββ run-all.ts # Master test runner CLI
β β βββ *.test.ts # Dedicated route, schema, and domain tests
β βββ theme-system.test.ts # CSS and theme token integrity tests
βββ CHANGELOG.md # Semantic Versioning history (v1.0.0 to v1.48.0)
βββ DEPLOYMENT.md # Production deployment and cloud operations guide
βββ Dockerfile # Multi-stage container definition
βββ docker-compose.yml # Multi-container orchestration (App, PG 16, Redis 7)
βββ package.json # Dependencies and scripts (v1.48.0)
- Node.js:
v20.xorv22.x(LTS recommended) - npm:
v10.xor higher - Git: Installed and configured
- Docker (Optional): If running local PostgreSQL and Redis containers
git clone https://github.com/IST-ZenithenLab/ZenithenOpen.git
cd ZenithenOpennpm install(This automatically triggers prisma generate via the postinstall hook).
Create your local environment file:
cp .env.example .env.localDefault standalone development works immediately with zero configuration (using resilient in-memory and mock data fallbacks). For live cloud features, populate:
NODE_ENV="development"
DATABASE_URL="postgresql://postgres:[pass]@db.[ref].supabase.co:5432/postgres"
AUTH_SECRET="development-secret-entropy-32-chars-minimum"
NEXTAUTH_URL="http://localhost:3000"
UPSTASH_REDIS_REST_URL="https://[instance].upstash.io"
UPSTASH_REDIS_REST_TOKEN="[token]"
GITHUB_TOKEN="ghp_[token]"npm run devOpen http://localhost:3000 in your browser.
# Starts Next.js app, PostgreSQL (port 5433), and Redis (port 6379)
docker compose up -dZenithenOpen maintains an extensive automated test suite covering all route handlers, authentication algorithms, data contracts, and schema relations.
npm run typecheckExpected output: Exit code 0, 0 compilation errors.
npm testnpm run preflightFor our comprehensive, multi-phase technical roadmap, see docs/roadmap-next-steps.md. Key immediate priorities include:
| Priority | Track | Action Item |
|---|---|---|
| π’ P0 | Deployment | Cut official GitHub Release v1.48.0 on main and deploy latest build to production (Vercel). |
| π’ P0 | Cloud DB | Verify live Supabase PostgreSQL connection pooling (pgbouncer=true) and seed production tables (npm run db:seed). |
| π‘ P1 | Webhooks | Connect real-time GitHub organization webhook on IST-ZenithenLab to /api/github/webhook. |
| π‘ P1 | Onboarding | Host the inaugural Open Source Saturday workshop utilizing the Interactive First PR Guide (/resources). |
| π΅ P2 | Mentorship | Launch mentor assignment workflows for senior students and fellowship alumni on /mentorship. |
| π΅ P2 | Swag Fulfillment | Connect automated email notifications for Tier 1β4 contributor swag voucher redemptions. |
| π£ P3 | AI Mentor | Integrate Google Gemini API for automated PR review guidance and contextual code hints. |
To preserve code stability, regression safety, and transparent release tracking, every new feature, enhancement, or architectural refactor MUST follow this strict 6-step lifecycle:
[ main (stable) ]
β
βΌ git checkout -b feature/<feature-name>
[ feature/<feature-name> ] βββΊ Implement, verify typecheck & run 32 test suites
β
βΌ git push -u origin feature/<feature-name> && gh pr create
[ GitHub Pull Request ] βββΊ Automated review, CI verification & signoff
β
βΌ gh pr merge --merge (DO NOT delete branch)
[ main ] βββΊ Merged into trunk
β
βΌ git tag -a vX.Y.Z & git push origin vX.Y.Z
[ GitHub Release Tag ] βββΊ Published release & CHANGELOG update
-
Dedicated Feature Branch for Every Task:
- Never commit directly to
main. - Create a fresh branch off latest
main:git checkout main && git pull origin main git checkout -b feature/<feature-name>
- Standard branch naming prefixes:
feature/,fix/,docs/,chore/,refactor/.
- Never commit directly to
-
Quality Gates & Pre-flight Verification:
- Before opening a PR, ensure all quality gates pass:
npm run typecheck # 0 TypeScript compilation errors npm test # All 32 backend test suites passing
- Before opening a PR, ensure all quality gates pass:
-
Open a Dedicated Pull Request (PR):
- Push your branch to remote:
git push -u origin feature/<feature-name>
- Open a detailed PR targeting
main:gh pr create --title "feat: <description>" --body "<summary of changes>"
- Push your branch to remote:
-
Merge into
main:- Once reviewed and verified, merge the PR into
main:gh pr merge <PR-NUMBER> --merge
- Once reviewed and verified, merge the PR into
-
Branch Preservation Protocol:
- CRITICAL: Never delete feature branches. All feature branches must remain permanently preserved both locally and on
originas an immutable record of campus student contributions and proof of work.
- CRITICAL: Never delete feature branches. All feature branches must remain permanently preserved both locally and on
-
Semantic Version Tagging & Release:
- Update
package.jsonversion and log changes inCHANGELOG.mdanddocs/development-log.md. - Pull merged changes into local
main:git checkout main && git pull origin main - Create an annotated Git tag and push to GitHub:
git tag -a vX.Y.Z -m "Release vX.Y.Z: <summary of changes>" git push origin vX.Y.Z - Publish the GitHub release:
gh release create vX.Y.Z --title "vX.Y.Z β <title>" --generate-notes
- Update
ZenithenOpen is built by students, for students. We welcome contributions of all sizes!
- Explore open beginner tasks on the Good First Issues Board.
- Read the interactive walkthrough on Shipping Your First Campus PR.
- Follow the Feature Branching & PR Protocol outlined above.
- Ensure all code passes
npm run typecheckandnpm testbefore opening a pull request. - Follow conventional commit messages (
feat:,fix:,chore:,docs:,refactor:).
Distributed under the MIT License. See LICENSE for more information.
Engineered with pride by IST-ZenithenLab & the IST Bengaluru Open-Source Community.
Ship code, earn respect, shape campus culture.