A LeetCode-inspired coding challenge platform. Users solve Python problems in a browser-based editor; submissions run inside an isolated Docker sandbox so arbitrary user code never touches the host.
- Monaco code editor with per-problem starter code
- Run against a single test case or submit against all
- Per-test-case pass/fail feedback with stdout and stderr
- JWT-authenticated API (Supabase Auth)
- Hardened Docker sandbox (no network, 256 MB RAM, 1 CPU, 60 s timeout)
- Python 3.11+
- Node 18+
- Docker (running)
- A Supabase project with the schema below
- A MongoDB instance (local or Atlas)
cd backend
pip install -r requirements.txtCreate backend/.env:
SUPABASE_URL=<your-project-url>
SUPABASE_KEY=<your-service-role-key>
MONGODB_URI=<your-mongo-uri>
Build the code-execution Docker image (required before running):
docker build -t submission_runner src/leapcode_app/docker/Start the Flask server:
python src/run.py
# → http://127.0.0.1:5000cd frontend
npm install
npm run dev
# → http://localhost:5173cd backend
pytestproblems: id, name, difficulty
users: managed by Supabase Auth
MongoDB holds full problem documents (description, test cases, function signature). See DESIGN.md for the complete schema.
See DESIGN.md for architecture, data models, security design, and roadmap.