chrono/README

81 lines
2.3 KiB
Plaintext

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 <http://www.gnu.org/licenses/>.