🚀 DevArena is a real-time full-stack web platform for coding battles, mock interviews, and developer duels. It combines a live Monaco editor, real-time collaboration, video/audio chat, leaderboards, and more — all powered by Next.js, Express, TypeScript, and WebSockets.
- ⚔️ 1v1 Dev Battles with time limits, problem sets, and auto-scoring
- 🧑💻 Live Monaco Code Editor with syntax highlighting
- 🎥 Video + Audio Chat using WebRTC (or Daily API)
- 🔁 Real-time Collaboration via Socket.IO
- 📊 Leaderboards, matchmaking & player XP system
- 🧪 Mock Interviews with interviewer & candidate mode
- 📦 Shared Types & Utilities across apps
- 🚀 Powered by Monorepo (pnpm + TurboRepo)
devarena/
├── apps/
│ ├── frontend/ # Next.js + TailwindCSS
│ └── backend/ # Express + Prisma + Socket.IO
├── packages/
│ └── common/ # Shared types, constants, helpers
├── .github/ # GitHub Actions workflows
├── tsconfig.base.json # Shared TS config
├── turbo.json # TurboRepo config
├── pnpm-workspace.yaml # Monorepo package paths
└── README.md
| Layer | Tech Used |
|---|---|
| Frontend | Next.js, React, TailwindCSS, TypeScript |
| Backend | Express.js, Socket.IO, Prisma ORM, TypeScript |
| Realtime | Socket.IO, WebRTC, Daily.co (optional) |
| Database | PostgreSQL via Prisma |
| Deployment | Vercel (frontend) + Railway/Render (backend) |
| Tooling | pnpm, TurboRepo, GitHub Actions |
git clone https://github.com/trijalkaushik/devarena.git
cd devarena
pnpm installCreate the following .env files:
NEXT_PUBLIC_BACKEND_URL=http://localhost:3001
NEXT_PUBLIC_SOCKET_URL=http://localhost:3001DATABASE_URL=postgresql://user:password@localhost:5432/devarenaReplace with your actual DB credentials.
pnpm dev- Frontend runs on: http://localhost:3000
- Backend runs on: http://localhost:3001
Pull requests are welcome! For major changes, open an issue first to discuss what you’d like to change.
pnpm install
pnpm devMake sure everything runs smoothly and opens a PR 🎯
This project is licensed under the MIT License — see the LICENSE file for details.