A full-stack web application for real-time online chess, built as part of the 42 curriculum. The goal was to deliver a complete platform for live play across classic and multiplayer formats — essentially a simpler version of chess.com. You can check it out at 42Chess.
Game Modes
- 2-player Chess (with and without time limit)
- 4-player Chess (with and without time limit)
- 4 Connect (with and without time limit)
My Role
I served as Backend Developer. My responsibilities included:
- REST APIs and server actions for auth, profiles, stats and game history
- Database schema design and queries with PostgreSQL and Prisma ORM
- Involvement in WebSocket communication between the Next.js frontend and the dedicated Socket.IO game server
- User levels, leaderboard and game history features
- 2FA implementation using OTP and QR codes
- OAuth 2.0 login via 42 intra
- Traefik setup
Tech Stack
- Next.js 16, React 19, TypeScript
- Socket.IO for real-time game state
- PostgreSQL with Prisma ORM
- Docker, Docker Compose, Traefik
- Playwright for end-to-end testing