Cookoff is CodeChef VITβs flagship competitive programming event that challenges developers across the country. This repository contains the Admin Portal for Cookoff X β the single interface for managing users, problems, testcases, rounds, judging operations, and event monitoring.
(Replace with production URL)
https://cookoffx-admin.codechefvit.com
- Authentication & Access Control:
- Secure admin-only login
- Role-based feature gating (Super Admin, Problem Setter, Judge, Observer)
- User Management:
- Paginated + searchable table
- Ban / unban
- Bulk round promotion
- Question Management:
- CRUD with rich editor/markdown preview
- Difficulty, tags, constraints metadata
- Testcase Management:
- List, create, update, delete
- Distinguish sample vs hidden
- Round / Contest Control:
- Control timer from admin (start rounds, add time)
- Notifications:
- Send notifications to users on the main portal
- Observability:
- Submission analytics page
Clone:
git clone -b main https://github.com/<your-username>/cookoff-admin-X.git
cd cookoff-admin-XInstall:
pnpm install
# or
npm installEnvironment (create .env.local):
NEXT_PUBLIC_API_BASE_URL=
NEXT_PUBLIC_FIREBASE_API_KEY=
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
NEXT_PUBLIC_FIREBASE_PROJECT_ID=
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
NEXT_PUBLIC_FIREBASE_APP_ID=
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=Run:
pnpm devBuild:
pnpm build && pnpm startSuggested structure:
/app
/components
/services
/hooks
/lib
/types
/showcase_ss
- Backend Previous cycle example: https://github.com/CodeChefVIT/cookoff-10.0-be
- Participant Portal Previous example: https://github.com/CodeChefVIT/cookoff-portal-10.0
- Branch naming:
feat/<scope>-<short-desc>(e.g.feat/users-bulk-promote) - Conventional commits:
feat: add bulk user promotion - Run checks:
pnpm lint pnpm typecheck pnpm format
- Open PR with screenshots for UI changes.
pnpm dev
pnpm lint
pnpm typecheck
pnpm format
pnpm build- Schema validation via Zod
- Protected routes with server session guard
- Role-based gating for destructive actions
- Avoid logging sensitive data
- API abstraction in
/services
- Live scoreboard monitor
- Real-time judge queue depth
- Dark mode toggle
- Bulk user CSV import/export
- Rejudge workflow UI
- Anomaly detection (suspicious behavior)
- Email / webhook notifications
|
Abhinav Ganeshan |
Abhinav Pant |
Advik Gupta |
Made with β€οΈ by CodeChef-VIT









