This repo contains a full-stack coding platform built with React + TypeScript (Vite) on the frontend and Node.js + Express + Prisma on the backend. It allows users to register, submit solutions to coding problems, and get results in real time, and also contribute problems to the platform.
• Provide a self-hosted Online Judge system where users can practice coding problems.
• Showcase knowledge of microservices with Docker, RabbitMQ, and containerized language environments.
• Demonstrate experience in designing and implementing large-scale applications.
• Frontend: React, TypeScript, Vite, React-Bootstrap
• Backend: Node.js, Express, Prisma ORM, MySQL
• Execution: Docker Compose for language containers (C, C++, Python, Java, Node)
• Messaging: RabbitMQ for asynchronous job processing
• Deployment: Docker, GitHub Actions
- Clone this repo.
- Install dependencies (frontend, backend):
- In ./backend:
› npm install - In ./frontend:
› npm install
- In ./backend:
- Set up environment variables in .env for database connection and DO credentials.
- Start Docker containers (language environments):
› docker compose -f docker-compose.langs.yaml up -d - Start backend (API, Worker):
› npm run dev - Start frontend:
› npm run dev
• User authentication and admin roles
• Problem creation with testcases stored in DO Spaces
• Real-time submissions (compile & judge)
• RESTful APIs auto-generated by TSOA
Fork, commit, and open a pull request. Thank you for checking out the project!
- You can try our website : OJUS