Welcome to Fretsboard’s documentation!¶
Fretsboard is a web scoreboard for the rhythm game Frets On Fire (and its forks).

Introduction¶
Presentation¶
Fretsboard is a web scoreboard for the rhythm game Frets On Fire (and similar).
Origin¶
This application comes from the old Frets On Fire Charts Server.
Other scoreboard were developped, in PHP:
- fofchart (2008)
- fofcs (2008)
- fretsweb-php (2009)
For more information, see the Frets On Fire forum post.
Features¶
The original scoreboard provides:
- the list of users
- the list of songs
- scores per users
- top scores
- a searching toolbar for users and songs
- an uploading entry for scores
In addition, this scoreboard provides:
- translations
- a minimal design
Other features are planned for the next version.
User guide¶
World instance¶
There is a stable instance, which aims to regroup all scores.
Upload a score¶
To upload a score, in your rhythme game configuration file, you should modify the uploadurl parameter (or similar) to redirect to [instance]/upload.
Installation¶
Compatibilities¶
- Python: supports python 3.6, 3.7, 3.8 and 3.9
- Django: supports 3.0
- Bootstrap: supports the version 3
Settings (optional)¶
Before running this application, you should configure some local settings:
- SECRET_KEY: you need to generate a new one
- DEBUG: default is True, which is not secured
- ALLOWED_HOSTS: the host you will use
- DATABASES: the database you will use (default is an SQLite one)
- PIWIK_URL: the URL of your Matomo instance
- PIWIK_SITE_ID: the id of your scoreboard instance
Run it locally¶
On a virtualenv:
git clone git@github.com:Linkid/fretsboard.git
cd fretsboard
pip install -r requirements.txt
./manage.py makemigrations scoreboard
./manage.py migrate
./manage.py runserver
Run it on Heroku¶
Database used here: PostgreSQL In your console:
heroku login
heroku apps:create your-scoreboard
heroku addons:create heroku-postgresql --app your-scoreboard
git remote set-url heroku git@heroku.com:your-scoreboard.git
git push heroku master
heroku ps:scale web=1
heroku config:set SECRET_KEY=`openssl rand -base64 32`
heroku run python manage.py migrate
heroku open
Release notes¶
1.5 (2021-04-29)¶
- build: add Python 3.9 compatibility
- ci: use Github Actions to run tests
- dependencies: update Django to 3.2
- doc: update the Travis link
1.4 (2020-08-10)¶
- Admin: display and filter verified songs
- Dependencies: update Django to 3.1
- Dependencies: update django-bootstrap3 to 12.0
- Dependencies: update Python to 3.8
- Dependencies: specify the minimal required Python version
- Templates: get translated difficulty in the song template
- Tests: add python 3.7 and 3.8 compatibility
- Translations: use lazy translations in models to get translated text in templates
1.3 (2019-12-05)¶
- Dependencies: update Cerealizer to 0.8.3
- Dependencies: update Django to 3.0
- Dependencies: update Python to 3.7
- Templates: add error pages (400, 403, 404 and 500)
- Translations: update languages.
1.2 (2018-10-21)¶
- Dependencies: update Cerealizer to 0.8.2
- Dependencies: update Django to 2.1
1.1 (2018-06-16)¶
- Dependencies: migrate to Django 2.0
- Dependencies: use the Cerealizer binary
- Doc: add a screenshot of the scoreboard
- Doc: add release notes
- Logs: add some logs
- Theme: add some links to the footer
- Theme: reduce the size of medals
- Translations: update languages.
- Upload: duplicate songs if needed
- Upload: filter songs by case-insensitive title
1.0 (2018-04-01)¶
The scoreboard has been rewritten.
- Django: migrate the scoreboard to Django 1.11
- Theme: use Bootstrap 3
- Theme: use a simple theme (white, not red)
- Theme: use a simple boostrap theme for the user page
- Translations: 2 languages are available (English, French).