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
- Bulk import (planned)
- Round / Contest Control:
- Schedule management
- Freeze scoreboard (planned)
- Judge / Evaluation (planned):
- Rejudge flow
- Queue monitoring
- Observability (optional):
- Submission analytics
- Audit log
- Performance:
- Query caching & background refresh
- Optimistic updates for UI responsiveness
Clone:
git clone -b main https://github.com/<your-username>/cookoff-admin-X.git
cd cookoff-admin-X
Install:
pnpm install
# or
npm install
Environment (create .env.local
):
NEXT_PUBLIC_API_BASE_URL=https://api.cookoffx.codechefvit.com
NEXT_PUBLIC_EVENT_CODE=COOKOFFX
ADMIN_AUTH_ISSUER=https://auth.cookoffx.codechefvit.com
ADMIN_AUTH_CLIENT_ID=XXXX
ADMIN_AUTH_SECRET=XXXX
NEXT_PUBLIC_ENABLE_REALTIME=false
Run:
pnpm dev
Build:
pnpm build && pnpm start
Suggested structure:
/app
/components
/services
/hooks
/lib
/types
/showcase_ss
- Backend (update with current year’s backend repo once available)
Previous cycle example: https://github.com/CodeChefVIT/cookoff-9.0-backend - Participant Portal (update when ready)
Previous example: https://github.com/CodeChefVIT/cookoff-portal-9.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
(Alphabetical order by display name)
Abhinav Ganeshan |
Abhinav Pant |
Advik Gupta |
Made with ❤️ by CodeChef-VIT