NextChess

Next Chess

This project was bootstrapped frontend with React, backend with Python and database with SQL.

[!NOTE] For more previews see the demo folder

Features/packages/framework included

Installation

Frontend

Use the package manager npm to install NextChess.

npm install

Run the app frontend in the development mode. Open http://localhost:3000 to view it in the browser.

npm run next-dev

Backend

Run the app backend in the development mode. Listen at port http://localhost:8000.

npm run fastapi-dev

Database

npm run update-db

Configuration

Environment variables

Run and Deploy

[!IMPORTANT] cd web; npm run start to run the production server

The service is available at http://fall2324w3g9.int3306.freeddns.org/

[!NOTE] npm run dev to run the development server

Folder structure

api

Define all api for application (eg: login, getUserById, getGame, findGame, …).

alembic

Contains database migration scripts using Alembic for efficient management and version control.

src/app

Indexing and organizing application-specific modules and components.

src/components

You can write components for application inside this folder. Each component should be self-contained as a module.

Example:

components
├── Admin
│   └── AdminPage.tsx
│
└── Icon
    ├── BotIcon
    │    ├── Cat.tsx
    │    ├── Elephant.tsx
    │    └── index.tsx
    └── ChessPiece
         ├── BlackKing.tsx
         └── index.tsx

src/helpers

Define all shared constants used in application

src/types

Define all shared types used in application

src/context

Define all shared context and context provider used in application

src/hooks

Define all shared hook used in application

Thanks to

2024 @ UET-VNU