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