Online Code Judge / Compiler
A coding-judge platform that compiles and runs user submissions against test cases inside sandboxed containers and returns verdicts and runtime stats.
How to build it β step by step
- 1Problem model: Store problems, constraints, and hidden test cases with expected outputs.
- 2Sandbox: Run each submission in a resource-limited Docker container with time/memory caps.
- 3Judging: Compare output to expected; classify as AC/WA/TLE/RE and record runtime.
- 4Queue + scale: Queue submissions in Redis and process with multiple judge workers.
Key features to implement
- βMulti-language execution
- βSandboxed, resource-limited runs
- βVerdicts (AC/WA/TLE/RE)
- βSubmission queue
- βPer-problem leaderboard
π‘ Unique twist to stand out
Add a plagiarism check that compares submissions using token-based similarity (MOSS-style) and flags suspicious pairs.
π What you'll learn
Containerisation, sandboxing/security, job queues, and distributed processing.