Skip to content

s3menchuk/chess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chess Web (SPA)

Overview

Chess Web App (SPA, Single Page Application) allow plays:

  • local from 1 device
  • with bot
  • online

Domain entities

  • Player
  • Game
  • Move
  • Bot

Similar solutions analysis

  • chess.com
  • lichess.org
  • play.chessbase.com

Tech stack

Frontend
  • TS + React
  • Vite (bundler)
  • tailwindcss + shadcn/ui (UI)
  • Zod (validation)
  • chess.js (chess rules library)
  • nginx
Backend

Diagrams

Use case

Use case

ERD (Chen)

ERD

BPMN

BPMN

DBML

DBML

C4

L1

C4-L1

L2

C4-L2

L3

C4-L3

L4 (PlantUML)

C4-L4 (PlantUML)

Labs

  1. Use-Case, ER (Chen), BPMN ✅
  2. C4(L1, L2, L3, L4) + BPMN (PlantUML), BD (DBML) ✅
  3. Buisness logic + Unit tests (Mock)
  4. Integration test for data access component
  5. UI ✅
  6. GUI + Logging + Config
  7. GUI (MVC, MVP) ✅
  8. Вертикальный срез (поддержка нескольких сессий) ✅
  9. Горизонтальный срез (MongoDB)

Refactoring:

  • Интерфейс для http lib (Gin)

Fix:

  • Fix scroll on mobiles

Features:

  • Cache (redis)
  • Ожиадние игроков в комнате матча, на первый ход дается 30 секунд
  • Accept/Decline draw
  • Таймер
  • Locale, lanuages (en, ru)
  • Password and login validation
  • Graceful shutdown
  • Matchmaking rating
  • down migrations + docker migrate
  • Создание игры по ссылке (в том числе для неавторизованных пользователей)
  • Access/Refresh tokens

UI:

  • Выпадающее меню пользователя
  • Цвет UI, цвета ника
  • move smooth animation
  • Menu for pawn promotion
  • Preferences (pieces, board color)

CI/CD:

  • Deploy as telegram app

About

Chess Web App

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages