| FR-1 |
Users can sign up and log in only with a verified Thapar institutional email, via OTP + JWT-based sessions. |
| FR-2 |
Users can browse, filter (by difficulty/tags), and open coding problems sourced from the CodeCraft dataset. |
| FR-3 |
Users can write and submit code in an in-browser editor (Monaco) with language selection. |
| FR-4 |
Submitted code is executed in an isolated sandbox (Piston) and returns a verdict (AC / WA / TLE / RE). |
| FR-5 |
A correct (AC) submission generates a Performance Score based on difficulty, correctness, attempts, and time efficiency. |
| FR-6 |
Performance Score maps to territory assignment or upgrade on the map, subject to the daily qualifying-problem limit (6/day). |
| FR-7 |
Users can challenge another user for a specific owned territory; the contest starts only after both parties accept. |
| FR-8 |
Accepted contests run in real time (WebSocket), with live opponent status, a server-authoritative timer, and an objective winner determination. |
| FR-9 |
The platform maintains a college-wide leaderboard and territory-level rankings. |
| FR-10 |
The platform detects and flags suspicious submission behavior (paste attempts, abnormal typing bursts, instant full-solution submissions) and enforces a 3-flag ban policy. |
| FR-11 |
Admins can review flags, submissions, and bans through an audit-logged review queue. |