Lidarts is a free/libre, open-source online darts scoring website.
The project is mostly written in Python3. The backend is based on Flask-Socketio. gevent workers are managed by gunicorn and communicate over redis. Data is stored in a PostgresSQL database. HTTP requests and WebSockets are proxied by nginx.
The entire project is driven by volunteers. Everyone is invited to contribute. Join us on our Discord server!
To set up a development environment make sure you have Python 3.6 or later installed.
Install the system requirements. Change "python3" to a different version (e.g. to "python3.7-venv" etc.) if you have a custom installation of Python and you don't want to use the system default.
sudo apt-get update sudo apt-get install python3-venv python3-dev build-essential redis-server
Clone the repo
git clone https://github.com/mischkadb/lidarts lidarts-dev
Create a new virtual environment and activate it
cd lidarts-dev python3.7 -m venv venv source venv/bin/activate
pip install -r requirements_dev.txt
Create instance folder and copy example config
mkdir instance cp example/config.py instance/config.py
Create the database
python manager.py createdb
There is currently an issue with the migrations directory. Remove it and initialize it again
rm -r migrations flask db init flask db migrate flask db upgrade
Run the development server with
python manager.py runserver
127.0.0.1:5000 in your browser. The index page should appear.