Tikki
Tikki is the application for collection and management of field aptitude perfomance data of Finnish reservists. Key features are easy and fast result recording and controlled authorization of results. The development of the app is managed by Lisää liikettä program, led by the Finnish Reservist Sports Federation (RESUL).
Organisation
Tikki is an open source project managed by the Reserviläisurheiluliitto Ry (RESUL). https://resul.fi/
Requirements
The service runs on Python 3.6, and currently supports Postgres 9.3+. Since database connections are done using SQLAlchemy, support can easily be added for other database types that support full JSON semantics.
Developer's guide
Below are instructions for initializing and operating the development environment.
Initializing development environment
We recomment using pipenv for managing a virtualenv, which can be installed as follows:
pip install pipenv
pipenv --install --three -r requirements.txt
Installing local development database
We recommend installing using a dockerized Postgres 9.3+ database for development. To do this, run the following
docker run -d -p 5432:5432 --name tikki-postgres -e POSTGRES_PASSWORD=tikkipwd postgres
Creating new database migration
Tikki uses alembic to manage database revisions. To create a new migration run tikki
using the --create
(or -c
for short):
python tikki --create "my new migration"
Bumping dependencies
requirements.txt
is dynamically generated with pinned versions using pip-compile from
setup.py
and requirements-dev.in
, tha latter which contains dependencies only needed
for developent. It is recommended to regenerate requirements every once in a while with
the following command:
pip-compile -U --output-file requirements.txt setup.py requirements-dev.in
This overwrites the old version of requirements.txt
with the most recent pinned
versions of all dependencies.