Chess tournament (Arena format) organizer using Node.js, Mongodb and Express. In this design the server acts as a "middleman" thereby simplfying state-restoration when the player disconnects --> reconnects.
Project was deployed directly from github with Heroku here.
- Install MongoDB
- Install node.js and npm
- Make sure that the "Path" environment variable has the entries for MongoDB and npm (Mine has C:\Program Files\MongoDB\Server\3.2\bin;C:\Users\avaidya\AppData\Roaming\npm)
- Install bower through npm
$ cd "C:\Program Files\MongoDB\Server\3.2\bin" (the path will change depending upon your installation folder and version)
$ mongod.exe
You may also want to install git for easy checkout. And then from a different command-prompt checkout, build and run the project in a following way,
$ git clone https://github.com/grunfeld/achess.git # or download and extract the achess folder from github
$ cd achess
$ npm install
$ bower install
$ node achess.js
MongoDB runs as a service in the background (sudo service mongodb start). The build instructions for the web-app are then same as those for the Windows.
$ git clone https://github.com/grunfeld/achess.git # or download and extract the achess folder from github
$ cd achess
$ npm install
$ bower install
$ node achess.js
chessboard.js's bower repository only contains chessboard.js file. So the bower_components needs this update after the install.
$ cd public/bower_components/chessboardjs
$ cp -r ../../chessboardjs/* .
views/layout.hbs refers to public/chessboardjs folder instead of public/bower_components for this very reason.
- Server starts at http://localhost:3333/
- First create an account by the name "admin" and logout. Only admin can start the tournament.
- The next time when you log-in as an admin, you will see a red button to start the tournament. Click on that and logout.
- Create a bunch of player accounts. These players can now participate in the tournament.
The project was inspired by lichess.org's tournament format.