/ChessColate

Primary LanguageTypeScript

ChessColate Screenshot

ChessColate is an application focused on improving chess tactics through personalized training plans.

It is an open-source project and is complemented by the backend:

It features a database populated with over 3 million records from lichess:

Installation

  1. You need to have a Firebase project.
  2. Create a file named keys.ts in the path: src/app/environments/keys.ts. The file should have the following structure:
    export const keys = {
      firebase: {
        projectId: '',
        appId: '',
        storageBucket: '',
        locationId: '',
        apiKey: '',
        authDomain: '',
        messagingSenderId: '',
        measurementId: '',
      }
    };
  3. Install the necessary packages:
    npm install
    

Run in development mode

This is an Ionic project, so you can use:

To work with the puzzles, follow the installation instructions of the backend at:

Compile and push the container to production

npm run build:ssr
docker build -t chesscolate-web .
docker tag chesscolate-web jsonfront/chesscolate-web
docker push jsonfront/chesscolate-web

Android build

It's a Capacitor project with adjustments for compiling due to Angular SSR.

  • Build the project with:

    ionic build
    

    This will generate the compiled folder at dist/app/browser due to SSR.

    • Modify webDir in the capacitor.config.json file to point to the compiled folder.

    • Then execute:

      npm run clean:build:android
      

      This script cleans the build directory from packaged files like .map, etc.

      • Next, compile the project normally for Android with:

        ionic cap sync android
        ionic cap copy android
        

        etc.

  • Generate icon and splash screens with:

    npx @capacitor/assets generate --iconBackgroundColor '#eeeeee' --iconBackgroundColorDark '#121212' --splashBackgroundColor '#eeeeee' --splashBackgroundColorDark '#121212'
    

Icons

The icons used in the project are from:

Color gold: #bf811c