feat: Vollständiges Rebranding zu MiChess, Copyright Tom Misch
- Alle @chessu/ → @michess/ (Package-Namen und Imports) - Theme-Namen chessuDark/Light → michessDark/Light - Alle Display-Texte: chessu/Michess → MiChess - Autor: dotnize → Tom Misch - Copyright: Nathaniel Tampus → Tom Misch - README komplett neu (Deutsch, MiChess-spezifisch) - CONTRIBUTING.md neu - FUNDING.yml + CODE_OF_CONDUCT.md entfernt - Fork-Hinweis auf chessu bleibt im README erhalten (MIT-Pflicht) - pnpm-lock.yaml entfernt (wird beim Build neu generiert) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
108
README.md
108
README.md
@@ -1,83 +1,59 @@
|
||||
<h1 align="center">
|
||||
<img src="./assets/chessu.png" alt="chessu" height="128" />
|
||||
</h1>
|
||||
<p align="center">
|
||||
<a href="https://ches.su">
|
||||
<img src="https://img.shields.io/github/deployments/dotnize/chessu/Production?label=deployment&style=for-the-badge&color=blue" alt="ches.su" />
|
||||
</a>
|
||||
<img src="https://img.shields.io/github/last-commit/dotnize/chessu?style=for-the-badge" alt="Last commit" />
|
||||
</p>
|
||||
# MiChess
|
||||
|
||||
<p align="center">Yet another Chess web app.
|
||||
Eine selbst-gehostete Schachplattform, inspiriert von Lichess.org.
|
||||
Läuft als Docker-Container auf einer NAS — lokal, privat, ohne Cloud.
|
||||
|
||||
<p align="center">
|
||||
<img src="./assets/demo.jpg" alt="chessu" width="640" />
|
||||
</p>
|
||||
> Basiert auf [chessu](https://github.com/dotnize/chessu) (MIT) von dotnize — vielen Dank für die solide Basis.
|
||||
|
||||
- play against other users in real-time
|
||||
- spectate and chat in ongoing games with other users
|
||||
- _optional_ user accounts for tracking stats and game history
|
||||
- ~~play solo against Stockfish~~ (wip)
|
||||
- mobile-friendly
|
||||
- ... and more ([view roadmap](https://github.com/users/dotnize/projects/2))
|
||||
## Features
|
||||
|
||||
Built with Next.js 14, Tailwind CSS + daisyUI, react-chessboard, chess.js, Express.js, socket.io and PostgreSQL.
|
||||
- Echtzeit-Multiplayer (Spieler vs. Spieler)
|
||||
- Stockfish KI in 6 Schwierigkeitsgraden (Anfänger bis Meister)
|
||||
- Nutzeraccounts mit E-Mail & Passwort
|
||||
- Freundessystem mit Anfragen und Freundesliste
|
||||
- Admin-Panel: Nutzerverwaltung, Sperren/Entsperren, Git-Update per Knopfdruck
|
||||
- Spielarchiv & Statistiken
|
||||
- Zuschauer & Chat
|
||||
- Mobil-optimiert
|
||||
|
||||
## Development
|
||||
## Tech Stack
|
||||
|
||||
> Node.js 20 or newer is recommended.
|
||||
Next.js 14 · Tailwind CSS · daisyUI · react-chessboard · chess.js · Express.js · Socket.io · PostgreSQL · TypeScript · Docker
|
||||
|
||||
This project is structured as a monorepo using **pnpm** workspaces, separated into three packages:
|
||||
## Deployment (NAS / Docker)
|
||||
|
||||
- `client` - Next.js application for the front-end, ~~deployed to ches.su via Vercel~~.
|
||||
- `server` - Node/Express.js application for the back-end, ~~deployed to server.ches.su via Railway~~.
|
||||
- `types` - Shared type definitions required by the client and server.
|
||||
```bash
|
||||
# 1. Repository klonen
|
||||
git clone https://git.mischlabs.de/MrDiderot/MiChess.git michess
|
||||
cd michess
|
||||
|
||||
### Getting started
|
||||
# 2. Konfiguration anpassen
|
||||
cp .env.example .env
|
||||
nano .env # Passwörter, ADMIN_EMAIL etc. setzen
|
||||
|
||||
1. Install [pnpm](https://pnpm.io/installation).
|
||||
2. Install the necessary dependencies by running `pnpm install` in the root directory of the project.
|
||||
3. In the `server` directory, create a `.env` file for your PostgreSQL database. You can try [ElephantSQL](https://www.elephantsql.com/) or [Aiven](https://aiven.io/postgresql) for a free hosted database.
|
||||
```env
|
||||
PGHOST=db.example.com
|
||||
PGUSER=exampleuser
|
||||
PGPASSWORD=examplepassword
|
||||
PGDATABASE=chessu
|
||||
```
|
||||
4. Run the development servers with `pnpm dev`.
|
||||
- To run the frontend and backend servers separately, use `pnpm dev:client` and `pnpm dev:server`, respectively.
|
||||
5. You can now access the frontend at http://localhost:3000 and the backend at http://localhost:3001.
|
||||
|
||||
## Running chessu with Docker
|
||||
|
||||
To build the project with Docker, you can use the provided `Dockerfile`.
|
||||
```sh
|
||||
docker build -t chessu .
|
||||
# 3. Starten
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
This command will build the Docker image with the name `chessu`. You can then run the image with the following command:
|
||||
```sh
|
||||
docker run -p 3000:3000 -p 3001:3001 chessu
|
||||
Frontend: `http://deine-nas-ip:3000`
|
||||
Backend API: `http://deine-nas-ip:3001`
|
||||
|
||||
## Update
|
||||
|
||||
```bash
|
||||
# Manuell via Script
|
||||
./scripts/update.sh
|
||||
|
||||
# Oder im Admin-Panel → "Jetzt aktualisieren"
|
||||
```
|
||||
|
||||
Once built, to start the project with POSTGRES, you can use the provided `docker-compose.yml` file.
|
||||
```sh
|
||||
docker-compose up
|
||||
## Entwicklung (lokal)
|
||||
|
||||
```bash
|
||||
pnpm install
|
||||
pnpm dev
|
||||
```
|
||||
Please make sure to modify the values in the `server/.env` file to match the values in the `docker-compose.yml` file or vice versa.
|
||||
|
||||
The entrypoint for the Docker image is set to run pnpm.
|
||||
The Dockerfile's `CMD` instruction is set to run the project in production mode.
|
||||
If you want to run the project in development mode, you can override the `CMD` instruction by running the following command:
|
||||
```sh
|
||||
docker run -p 3000:3000 -p 3001:3001 chessu dev # runs both client and server in development mode
|
||||
docker run -p 3000:3000 -p 3001:3001 chessu dev:client # runs only the client in development mode
|
||||
docker run -p 3000:3000 -p 3001:3001 chessu dev:server # runs only the server in development mode
|
||||
```
|
||||
## Contributing
|
||||
## Lizenz
|
||||
|
||||
Please read our [Contributing Guidelines](./CONTRIBUTING.md) before starting a pull request.
|
||||
|
||||
## License
|
||||
|
||||
[MIT](./LICENSE)
|
||||
[MIT](./LICENSE) · Copyright © 2024-present Tom Misch
|
||||
|
||||
Reference in New Issue
Block a user