Skip to content

Latest commit

 

History

History
127 lines (85 loc) · 4.59 KB

README.md

File metadata and controls

127 lines (85 loc) · 4.59 KB

Website

License: MIT Contributing

The ChesslaBlab website allows to play chess online outside the umbrella of mainstream platforms like Lichess or Chess.com. This means that it enables to play chess online without being tracked.

Manifesto:

  • Anyone, regardless of age, race, gender or social background should have access to easy-to-use, safe and decentralized chess sites and be able to choose which one to use.
  • Chess is a sport, a science, and an art.
  • Players should have more control over their own online activity.
  • Chess can help you improve your cognitive abilities which is a good think.
  • Anyone can learn to think more scientifically.

Chess developers and business owners can now run their own open-source based platform more easily than ever before because the ChesslaBlab website is super-duper simple to install and set up. To give you an idea of its simplicity, the assets/js folder contains less than 3,000 lines of JavaScript code.

cloc assets/js
      80 text files.
      80 unique files.                              
       0 files ignored.

github.com/AlDanial/cloc v 1.90  T=0.05 s (1474.8 files/s, 59028.2 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
JavaScript                      80            311             33           2858
-------------------------------------------------------------------------------
SUM:                            80            311             33           2858
-------------------------------------------------------------------------------

This is made possible with object-oriented programming (OOP) using JavaScript modules. Say goodbye to JavaScript fatigue! Get rid of libraries and frameworks like React, Vue or Next.js as well as transpilers and bundlers. The ChesslaBlab website is written using OOP and the DOM.

The following repositories are required to run an online chess platform with ChesslaBlab:

It is recommended to run the online chess platform using four different servers, one per repository, although everything can be run on the same machine in the development environment. The present README file contains an overview for seasoned developers on how to install and setup a ChesslaBlab website.

More detailed documentation will be available soon.

Stay tuned!

Install and Setup

Clone the chesslablab/website repo into your projects folder. Then cd the website directory and install the Composer dependencies:

composer install

Set up the browser environment variables:

cp assets/env.example.js assets/env.js

Clear the cache:

php bin/console cache:clear

Download the assets:

php bin/console importmap:install

Compile the assets:

php bin/console asset-map:compile

Set up file permissions for the var/cache folder:

sudo chmod 775 -R var/cache
sudo chown $USER:www-data -R var/cache

Set up file permissions for the var/log folder:

sudo chmod 775 -R var/cache
sudo chown $USER:www-data -R var/log

Run the MPA on a Docker Container

First things first, make sure to have created the fullchain.pem and privkey.pem files into the docker/nginx/ssl folder. Then run the MPA:

Development

Run the app on port 9443.

docker compose -f docker-compose.dev.yml up -d

Production

Run the app on port 443.

docker compose -f docker-compose.prod.yml up -d

License

The MIT License.

Contributions

We encourage you to contribute to the ChesslaBlab website! Please follow the Contributing Guidelines.

Made with contrib.rocks.