This is a broswer game version of the card game Wizard (Wikipedia article). Simply deploy it to a server, share its domain name or IP address and you can play with friends.
There are some open issues, especially concerning (the absolute lack of) responsivness, but it does what it is supposed to do!
The following works fine with a Free Tier AWS Ubuntu instance which is used for nothing else. Otherwise please have a look at the scripts before you run them.
- Install
nginx
according to the instructions for your distribution. - Install
python3-dev, python3-pip, python3-venv
- Install a recent version of
npm
(problably not in your distros repo, use the website) and make sure that the executable is in path - Run
bash deploy.sh
in the root directory of this project. This will install dependencies, build the react app and place all files where they belong - Run
bash run.sh
to start thenginx
and the backend server. This will stop both servers if they are already running. - If you see the nginx welcome page, there is a default template somewhere in the nginx
configuration search path that you need to delete. Look into
/etc/nginx/nginx.conf
to see what files it includes. - Run
sudo update-rc.d nginx defaults
to enable autostart for nginx. Addhome/ubuntu/sorcerer/startup.sh
to/etc/rc.local
. If this file does not exist, you can copy the version indeployment/
to/etc/
. This enables autostart for flask. - To stop the servers, run
killall flask
andsudo service nginx stop
Note: This is quite hacky because I need to use the flask development server instead of gunicorn (thats an open issue).
- Install
python3-dev, python3-pip, python3-venv
- Run
pip install -r requirements.txt
in thebackend
folder - Install a recent version of
npm
(problably not in your distros repo, use the website) and make sure that the executable is in path - Run
npm install
in thesorcerer_react
folder
- Run
python backend/app.py
to start the backend - Enter the
sorcerer_react
directory and runnpm start
to start the frontend.
This will expose the frontend on http://localhost:3000/. The development servers will reload upon code changes.