There are regularly changes and upgrades to the database schema (these may also
come from new versions of django or the installed dependencies). If you start
the development server and see a message that there are unapplied migrations,
just do pythonmanage.pymigrate--all.

Bower is used to download different JS and CSS libraries. If you update master
it is recommended that you first delete the existing libraries
(rmwger/core/static/bower_components) and then download the new versions
with:

$ python manage.py bower install

Some info about bower, during the bootstrap process bower is installed locally
to src/wger. If this didn’t work and you get an error saying that bower is not
installed, you can manually install it by going to the project’s root directory
and performing the step manually:

$ cd src/wger
$ npm install bower

Alternatively, you can manually set the path to the bower binary by editing
BOWER_PATH (see wger/settings_global.py).

To properly test the different parts of the application for usability or
performance, it is often very useful to have some data to work with. For this
reason, there is a dummy data generator script in
extras/dummy_generator/generator.py. It allows you to generate entries for
users, gyms, workouts and logs. For detailed usage options do:

pythongenerator.py--help

Or for options for, e.g. user generation:

pythongenerator.pyusers--help

To get you started, you might want to invoke the script in the following way. This
will create 10 gyms and 300 users, randomly assigning them to a different gym. Each
user will have 20 workouts and each exercise in each workout 30 log entries:

During development you can use runserver_plus instead of the default django
server as you can use an interactive debugger directly from the browser if an
exception occurs. It also accepts the same command line options. For this just
install the following packages:

Send pull requests: for new code you want to share, please send pull
requests in github. Sending patches by email or attaching them to an issue
means a lot more of work. It’s recommended that you work on a feature branch
when working on something, specially when it’s something bigger. While many
people insist on rebasing before sending a pull request, it’s not necessary.

Run the tests: wger is proud to have a test coverage of over 90%. When you
implement something new, don’t forget to run the testsuite and write approriate
tests for the new code. If you use github, configure the awesome Travis CI,
there is already a .travis file in the sources.