LeetCode Battles. Real-Time Duels.
Turn interview prep into competitive sport. Battle friends on LeetCode problems, climb the ranks, and become a coding legend.
- Real-time 1v1 battles - Race to solve coding problems first
- Email & Google OAuth - Multiple authentication options
- Profile setup - Customize avatar, skills, and goals
- Ranking system - Bronze to Grandmaster progression
- Leaderboards - Compete with the community
- Modern UI - Clean, responsive design with Tailwind CSS
Frontend:
- React 18 with modern hooks
- Tailwind CSS for styling
- Socket.io for real-time features
- Lucide React for icons
Backend:
- Node.js with Express
- Socket.io for WebSocket connections
- JWT authentication (14-day tokens)
- bcryptjs for password hashing
Planned:
- PostgreSQL database
- Judge0 API for code execution
- Monaco Editor for coding interface
- Node.js 16+
- npm 8+
- Clone the repository
git clone https://github.com/your-username/Code-Clash.git cd Code-Clash - Install dependencies
Install root dependencies npm install
- Install frontend dependencies
cd client && npm install
- Install backend dependencies
cd ../server && npm install
Environment setup
Client environment
- cp client/.env.example
- client/.env.local
Server environment
- cp server/.env.example
- server/.env
Start development servers
From root directory, npm run dev starts:
-
Frontend: http://localhost:3000
-
Backend: http://localhost:3001
Available Scripts Root directory:
npm run dev - Start both frontend and backend
npm run client - Start frontend only
npm run server - Start backend only
Frontend (client/):
npm start - Start React development server
npm run build - Build for production
Backend (server/):
npm run dev - Start with nodemon (auto-restart)
npm start - Start production server