Skip to content

Latest commit

 

History

History
63 lines (46 loc) · 1.54 KB

development.md

File metadata and controls

63 lines (46 loc) · 1.54 KB

Developing MusicBingo

GUI development

There is nothing particularly special required to develop the GUI code. You just need to install the development libraries:

pip install -r dev-requirements.txt

tox is used to run the unit, type and style checks.

tox

It will run checks based upon all the available installed Python versions.

To test all supported Python versions, there is a Docker dockerfile that will create a container with every supported Python version installed in it and then run tox across all of those versions.

First time setup:

docker build -t music-bingo -f tox-dockerfile .

To run all of the tests:

docker run -i -t -v ${PWD}/musicbingo:/home/bingo/musicbingo music-bingo -p 2

Before submitting a pull request, please make sure that all tests pass on all supported versions of Python.

Server

The server-side code is pure Python, using the Flask Framework.

For developing the HTML JavsScript application code, nodejs needs to be installed. The client code is a Redux-React app. See Create React App for more information about how to develop and test the React components.

./server.sh &
cd client
npm install
npm run start

If you are unable to log in, as you don't know the admin login password, you can change it:

python -m musicbingo.models change-password admin mynewpass

Where mynewpass is the new password for the admin account.