Codeladder is a focused coding-practice platform with a React interface, Express API, PostgreSQL catalogue, and Judge0-powered Python/C++ execution.
Copy backend/.env.example to backend/.env, set a strong JWT_SECRET, then start PostgreSQL and apply migrations:
docker compose up -d postgres
cd backend
npx prisma migrate deploy
npm run devIn another terminal, start the client:
cd frontend
npm run devThe web app runs on http://localhost:5173 and the API on http://localhost:8080.
For a containerised preview, run docker compose up --build. The API uses the public Judge0 CE endpoint by default for visible-case Run requests. Set JUDGE0_API_URL, JUDGE0_AUTH_TOKEN (if applicable), and JUDGE0_ALLOW_HIDDEN_TESTS=true only when the URL points at an owned Judge0 installation; full submissions deliberately stay disabled against the public endpoint so hidden test cases are never shared with it.
Each Run or Submit request is sent as one Judge0 batch. The API immediately stores the tokens and returns 202 Accepted; the client polls the submission URL until the result is terminal. This preserves concurrent batch execution without holding an HTTP connection open. A self-hosted Judge0 deployment can add workers for throughput, but it still uses its queue internally.