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.