Releases: ATOAPaymentsLimited/CodeVerdict
Releases · ATOAPaymentsLimited/CodeVerdict
🚀 v1.0.0 - Initial Public Release
CodeVerdict is an open-source coding exam platform with NestJS + Vue 3, ICPC-scored leaderboards, Monaco editor, and self-hosted Judge0 code execution. Self-host for your university, bootcamp, or hiring pipeline.
✨ Highlights
- 🧑Judge0 code execution — batch submission with base64 encoding and token polling
- 🏆 ICPC-scored live leaderboard — PostgreSQL materialized view with O(1) rank queries and pessimistic write locks
- ⏱️ Timed exams — server-synced countdown (manipulation-proof) + ExamWindowGuard
- 📝 MCQ + coding — mixed exam formats in a single session
- 🎨 White-label branding — app name, logo, colors, copyright all via env vars
- 🐳 Single-container deploy — multi-stage Dockerfile, Brotli-compressed assets, runs as non-root
- 🚂 One-click Railway deploy — railway.toml included
🛠️ What's Inside
Backend (NestJS 11)
- JWT auth with roll number login, role-based access (student/admin/QA)
- Exams, problems, submissions, autosave, run mode, starter code per language
- Swagger/OpenAPI docs at /api-docs (dev)
- Server-side pagination + search on all admin endpoints
- Optional Slack alerts, configurable DB pool size
Frontend (Vue 3 + Pinia)
- Monaco editor with LeetCode-style sidebar, auto-fetch languages
- Autosave with debounce + status indicator, Ctrl+S manual save
- Light theme, expandable editor, coachmarks tour
- Success modal with confetti on accepted submissions
- Redesigned toast notifications (glass-morphism)
- Mobile-responsive admin pages, scrollable exam picker (3-column)
Admin Panel
- Full CRUD for exams, problems, test cases
- Exam duplication with problem mappings
- Multi-exam support with exam selector
- Reference solution storage + expected output display
- Leaderboard CSV export, QA role opt-in filters
Ops
- 6-service docker-compose.yml (app, Postgres 17, Judge0 + workers, Redis)
- Health check at /api/health
- Brotli pre-compression via Vite plugin
- k6 load testing suite
📦 Deploy
- Docker: docker compose up --build
- Railway: deploy via railway.toml (app-only; Judge0 needs privileged containers so host separately)
- From source: see README.md
📜 License
Licensed under AGPL-3.0. Self-host freely; share modifications if you offer it as a network service.
🙌 Contributing
See CONTRIBUTING.md and CODE_OF_CONDUCT.md. Questions and ideas welcome in Discussions.