Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/reidpritchard/open-knight

A modern cross-platform chess database and analysis application. ⚠️ Heavy Development ⚠️
https://github.com/reidpritchard/open-knight

analysis chess database tauri

Last synced: 6 days ago
JSON representation

A modern cross-platform chess database and analysis application. ⚠️ Heavy Development ⚠️

Awesome Lists containing this project

README

        

logo

Open Knight




A cross-platform chess database and analysis application. ⚠️ SUPER ALPHA ⚠️




contributors


last update


forks


stars


open issues


Documentation
·
Report Bug
·
Request Feature



# Table of Contents

- [Table of Contents](#table-of-contents)
- [About the Project](#about-the-project)
- [Screenshots](#screenshots)
- [Tech Stack](#tech-stack)
- [Features (more in development)](#features-more-in-development)
- [Environment Variables](#environment-variables)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Run the project locally](#run-the-project-locally)
- [Usage](#usage)
- [Roadmap](#roadmap)
- [Contributing](#contributing)
- [Code of Conduct](#code-of-conduct)
- [FAQ](#faq)
- [License](#license)
- [Contact](#contact)
- [Acknowledgements](#acknowledgements)

## About the Project

### Screenshots


Screenshot of the current Open Knight UI

### Tech Stack

Client

"Backend" (Tauri)

Database

DevOps


  • TODO

### Features (more in development)

- Import PGN files
- Chess game viewer
- Game/Move annotations
- Move tree/list
- Theme support

### Environment Variables

Currently no environment variables are needed. You can modify the default database location in the `src-tauri/.env` file.

## Getting Started

### Prerequisites

This project uses `npm` as package manager.

Tauri uses `rust` and `cargo` to build the application. Instructions for installing `rust` can be found [here](https://www.rust-lang.org/tools/install).

### Run the project locally

Clone the project

```bash
git clone https://github.com/reidpritchard/open-knight.git
```

Go to the project directory

```bash
cd open-knight
```

Install dependencies

```bash
npm install
```

Run database migrations

```bash
npm run db:migrate
```

Run the whole project in development mode

```bash
npm run tauri dev
```

Run only the frontend

```bash
npm run dev
```

## Usage

The project is under active development and new features are being added frequently. Currently it's not recommended to use the application in a production environment.

## Roadmap

Listed in no particular order and likely to change (also the checked items are not stable, I keep breaking things):

- [x] PGN Parsing
- [x] Import PGN files
- [x] Chess game viewer
- [x] Basic UI layout customization
- [x] Game/Move annotations
- [x] Move tree/list
- [x] Theme support
- [ ] UCI support
- [ ] Drag and drop imports
- [ ] PGN export
- [ ] Position search
- [ ] Tactics/Motif search
- [ ] Openings support

## Contributing

Contributions are always welcome!

See `contributing.md` for ways to get started.

### Code of Conduct

Please read the [Code of Conduct](https://github.com/reidpritchard/open-knight/blob/main/docs/CODE_OF_CONDUCT.md)

## FAQ

- Does this project support X feature?

- Likely not. It's still in early alpha, but you can always open an issue or submit a PR!

- How can I help?

- Any contributions are welcome! See the [Contributing](https://github.com/reidpritchard/open-knight/blob/main/CONTRIBUTING.md) section for more information.

## License

The project uses the [PolyForm Noncommercial 1.0.0 License](https://github.com/reidpritchard/open-knight/blob/main/docs/LICENSE.md). See the license file for more information.

Reason for license
I chose this license because I want to keep the project open source, but also want to ensure that it's not used in a way that is harmful to the development of the project. For example, I don't want a company making a profit off of the project without contributing back. I am open to more traditional OSI approved licenses in the future, but for now this one allows me to keep more control over the project. I'd rather move from this license to something more permissive in the future rather than the other way around.

## Contact

Reid Pritchard - [@reidpritchard](https://github.com/reidpritchard) -

Project Link: [https://github.com/reidpritchard/open-knight](https://github.com/reidpritchard/open-knight)

## Acknowledgements

- [Shields.io](https://shields.io/)
- [Awesome README](https://github.com/matiassingers/awesome-readme)
- [Readme Template](https://github.com/othneildrew/Best-README-Template)
- [Tauri](https://github.com/tauri-apps/tauri)