/ChessApp_V2

the newest chess application a follow up of the first chess application

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

Chess App v2

Welcome to the Rust-Svelte Chess App v2! This is an open-source project that combines the power of Rust for the backend, Svelte for the frontend, and TypeScript for type-safe interactions. This app allows users to play chess against bots, giving them an enjoyable and interactive gaming experience.

Table of Contents

  1. Features
  2. Technologies Used
  3. Design
  4. Getting Started
  5. Contributing
  6. License
  7. Acknowledgments
  8. Translations

Features

With this app, you can program your own bot and engage in fierce competition against either my bot or a human player. In the forthcoming versions, you'll be empowered to upload and store bots fashioned by other users.

Technologies Used

  • Backend: The server-side of the application is built using Rust, a systems programming language known for its performance and safety features.

  • Frontend: The user interface is built with Svelte, a modern JavaScript framework that compiles components to highly efficient vanilla JavaScript.

  • TypeScript: TypeScript is used to add static typing to JavaScript, providing enhanced development tools and reducing errors.

Design

The design is very simple, which makes it easier to overview and navigate through the app. The app consists of three windows:

  1. The bot selection menu
  2. The chessboard where the moves are visualized
  3. The chess notation

You can find screenshots from the app here.

Getting Started

Prerequisites

  • Rust installed.
  • Node.js and npm (Node Package Manager) installed.

Installation

  1. Clone the repository:
    git clone https://github.com/jiri132/ChessApp_V2.git
  2. Navigate to the backend directory: cd src-tauri/src/ and run cargo run to start the Rust backend server.
  3. Open another terminal window, navigate to the frontend directory: cd src and run the following commands:
    • npm install to install the required frontend dependencies.
    • npm run dev to start the Svelte development server.

The app should now be running and accessible at http://localhost:5000.

Contributing

We welcome contributions to improve the Rust-Svelte Chess App! If you'd like to contribute, please follow the steps in the Contribute.md file.

License

This project is licensed under the GPL-3.0 license. See LICENSE.

Acknowledgments

This project was inspired by the love for chess and the desire to learn and collaborate on new technologies.

Translation

This guide is also available in other languages: