CodeWizard is a production-hardened, full-stack programming practice and contest platform featuring real-time sandboxed code execution, programming tournaments, and automated AI assistance.
Explore the detailed platform documentation:
- 📐 System Architecture: Client-server flow, judge worker architecture, and container sandbox design.
- ⚙️ Setup & Deployment: Local installation guides, environment configurations, and Docker Compose scripts.
- 🔌 API Endpoints: Complete route references, request payloads, and rate limits.
- 🛡️ Security & Hardening: Protections against malicious code, rate-limiting, and credentials guard details.
- Interactive Practice: Solve algorithmic problems using C, C++, Python, Java, or JavaScript with instant compiler and test case feedback.
- Tournaments & Contests: Create, schedule, and join live contests. Dynamic rankings calculate user score and leaderboards.
- AI-Powered Code Companion: Instantly query AI assistants for debugging, line-by-line code reviews, hints, or complete logic explanations.
- Control Panel: Admin and Employee portals for managing problems, submissions, test cases, and user accounts.
- Sandboxed Judging: Submissions compile and run inside secure, network-disabled Alpine-based Docker containers.
- Production-Ready Architecture: Includes a full Docker Compose suite with automatic health checking, offline Redis queue handling, Express 5 compatibility, and persistent container socket access.
- Frontend: Next.js 16 (App Router), React 19, Tailwind CSS v4, Lucide Icons.
- Backend: Node.js, Express.js (v5 compatible), MongoDB (Mongoose), Redis (BullMQ).
- Execution Judge: Docker Engine.
- Logging: Pino (Structured JSON logging).
-
Build the Sandbox Judge:
cd server/docker chmod +x build.sh ./build.sh -
Configure Envs: Setup
server/.envandclient/.envfollowing the Setup Guide. -
Install and Boot:
# Terminal 1: Run Backend cd server && npm install && npm run dev # Terminal 2: Run Judge Worker cd server && node workers/submissionWorker.js # Terminal 3: Run Frontend cd client && npm install && npm run dev
-
Access:
- Frontend:
http://localhost:3000 - Backend API:
http://localhost:8000 - Control Panel:
http://localhost:3000/cp
- Frontend:
Spin up the entire stack using Docker Compose:
docker compose up --build -dVerify that all services are healthy and running:
docker compose psMonitor service logs:
docker compose logs -f server
docker compose logs -f workerLicensed under the MIT License.