Real-Time Chess Battles. Multiplayer. Competitive. Lightning-Fast.
Chess Royal is a multiplayer chess platform built with a modern web stack. It offers real-time gameplay, seamless matchmaking, and a powerful UI designed to create a fair, competitive experience for all skill levels.
- Challenge players from around the globe in live chess matches.
- Enjoy smooth, instant move synchronization powered by WebSocket technology.
- Designed with fairness and integrity in mind.
- Built-in validation using chess.js to ensure legal moves.
- Next.js frontend for fast loading and responsive design.
- WebSocket Server for low-latency communication.
- Redis Worker for scalable background job processing.
- Prisma ORM for efficient database access.
Chess Royal follows a monorepo architecture managed by Turbo. It promotes efficient development by sharing code across apps and packages.
socket-server/ – WebSocket server handling real-time communication.web/ – Next.js frontend application with modern UI/UX.redis-worker/ – Redis-based job handler using BullMQ for queues.chess/ – Shared chess logic and utilities.prisma-db/ – Database schema, migrations, and Prisma client.store/ – Global state management (e.g. Recoil atoms/selectors).ui/ – Reusable UI components and design system.eslint-config/ – Shared ESLint rules for consistent linting.typescript-config/ – Shared tsconfig base for all packages/apps.- Frontend: Next.js, React, TailwindCSS, Recoil
- Backend: Node.js, WebSockets (ws), Express, BullMQ
- Database: PostgreSQL (via Prisma ORM)
- Caching & Jobs Redis, Upstash
- Monorepo Tools: Turborepo, pnpm
