CHECKERBOARD GAME APP is a modern web-based checkers game built with a Full-stack architecture using React for the user interface and .NET for the server-side game logic.
- React + TypeScript (Vite): Primary framework for a fast and type-safe UI.
- TanStack Query (React Query): Server state management, caching, and API data synchronization.
- Tailwind CSS: Utility-first styling for a modern and responsive design.
- Axios: HTTP Client for backend communication.
- Lucide React: Lightweight and consistent icon set.
- .NET 10: High-performance framework for building the Web API.
- NSwag: Swagger/OpenAPI integration for API documentation and testing.
- Server Status Monitoring: The home page automatically checks if the server is active before allowing the game to start.
- Custom Player Names: Supports name inputs for both White and Black players with form validation.
- Real-time Game State: The game board is directly synchronized with the server-side state.
- Move Validation: The backend validates every player move. Legal moves are highlighted in green on the board.
- King Piece Support: Pieces reaching the opponent's edge automatically become a 'King' (👑).
- Demo Mode: A special feature for testing that instantly sets up the board in specific scenarios.
- Victory Logic: Automatic winner detection accompanied by sound effects and an attractive victory modal.
- Node.js (latest version recommended)
- .NET 10 SDK
Open a terminal in the server directory:
cd server
dotnet restore
dotnet runThe server will run by default on port http://localhost:5015. You can access the API documentation at http://localhost:5015/swagger.
Open a terminal in the client directory:
cd client
npm install
npm run devOpen browser and access http://localhost:5173.
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/game/status |
Checking server health. |
GET |
/api/v1/game/state |
Gets the current board state and player status. |
POST |
/api/v1/game/start |
Initialize a new game with the player name. |
POST |
/api/v1/game/move |
Sends a pawn move (from coordinate A to B). |
POST |
/api/v1/game/reset |
Reset the board to its starting position. |
POST |
/api/v1/game/setup-demo |
Set up the board for demonstration/testing purposes. |
iot meetig roomm tanpa booking problem gbs dibooking
solusi checkin pk sensor ada radar deteksi sekitar
ide lain cctv
MVP: paralel rasbery da iot gteway jalan kalo bisa ui
- bikin endpoint
- baru hardware
- logic gateway
consider db
https://www.hlktech.net/index.php?id=download-center&cate=cate-63fdaeb91b37b&pageid=2 https://drive.google.com/drive/folders/16zI-fium_BZeP08EyQke0rWp0BJTMvw3

