CodeDock is a real-time technical interview platform where interviewers and candidates collaborate in a shared coding environment. Users can create private rooms, edit code together, chat in real time, and execute Python code in a secure Docker sandbox.
- Next.js
- Tailwind CSS
- TypeScript
- Express
- Socket.io
- MongoDB
- Docker
apps/web-> Next.js frontendapps/server-> API + Socket.io serverapps/runner-> Docker execution servicepackages/shared-> shared TypeScript types
Before locally running the project, make sure you have:
- Docker Desktop installed and running
- Node.js installed locally if you want to run without Docker Compose
- npm installed
The runner service uses Docker to execute submitted Python code inside isolated containers, so Docker must be running.
The required .env files are included in the submission. Example environment files are also provided to show the required variables for each service.
A live demo of CodeDock is currently deployed on DigitalOcean: http://143.198.161.125:3000
This deployment is intended for course grading/demo purposes only and will be taken down after the class ends on May 18, 2026.
From the project root, run:
docker compose upThis starts the frontend, backend server, runner service, and MongoDB.
Make sure the app is running (via docker compose) and then, from the project root in another terminal, run:
docker compose exec server npm run seed -w apps/serverThis adds the following user:
Username: seed_user
Email: seed@codedock.dev
Password: seedpass123
Run:
npm installStart MongoDB.
Start the following services in three separate terminals at the project root folder.
Web Frontend (http://localhost:3000)
npm run dev:webServer (http://localhost:4000)
npm run dev:serverRunner Service (http://localhost:5000)
npm run dev:runner