Chrono ====== Chrono provides a set of management interfaces and web services to register for activities and stuff. Installation ------------ Dependencies can be installed with pip, $ pip install -r requirements.txt It's then required to get the database configured (./manage.py migrate); by default it will create a postgresqsl DB. You can then run the Django test server for a quick try (you should refer to the Django documentation for production deployments). $ ./manage.py runserver Settings -------- Default settings are loaded from settings.py, they can be overloaded by a local_settings.py file set in the same directory, or by a file referenced in the CHRONO_SETTINGS_FILE environment variable. Code Style ---------- black is used to format the code, using thoses parameters: black --target-version py35 --skip-string-normalization --line-length 110 isort is used to format the imports, using those parameters: isort --profile black --line-length 110 pyupgrade is used to automatically upgrade syntax, using those parameters: pyupgrade --keep-percent-format --py37-plus django-upgrade is used to automatically upgrade Django syntax, using those parameters: django-upgrade --target-version 2.2 djhtml is used to automatically indent html files, using those parameters: djhtml --tabwidth 2 There is .pre-commit-config.yaml to use pre-commit to automatically run black, isort, pyupgrade, django-upgrade and djhtml before commits. (execute `pre-commit install` to install the git hook.) Tests ----- pip install pytest pytest-django pytest-mock DJANGO_SETTINGS_MODULE=welco.settings py.test tests/ License ------- This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see .