How to contribute
contributions are highly welcome! Before you begin, I would kindly ask you to read through the following.
Environment
This project uses pipenv for dependency management. Follow the website’s instructions to setup pipenv, then run pipenv install –dev. Thanks to pipenv’s lockfile, dependency resolution should be a breeze.
Repository layout
project
├── docs -- The rendered html documentation
├── docs_src -- The docs source
├── medical_app -- the main application
|── backend
|── authentication -- authentication flask blueprint
|── errors -- error handler flask blueprint and decorator
|── main -- blueprint for core application
|── models.py -- definition of sql tables via ORM
|── frontend
|── templates -- html templates for login mini frontend
├── migrations -- alembic 'version control' for database schemas
├── config.py -- config of flask, backend, auth-0, ...
└── tests -- mirrors medical_app
Testing
This project uses pytest for unit testing. Each end point has at least one test, usually way more for non-successful conditions. I rely on pytest’s conftest.py to setup test configuration.
Code Hygiene
The code is …
pep8 compliant (checked via flake8)
formatted homogeneously (formatted via black)
imports are sorted (via isort)
Documentation
The documentation you are reading is built with sphinx and hosted on github pages.