This is the back-end application for OperationCode.
We highly recommend joining our organization to receive an invite to our Slack team.
From there, you'll want to join the
You can get help from multiple professional developers, including people who have worked on the application since day 1!
Before contributing, please review our Contributing Guide
For information about the maintainers of the project, check out MAINTAINERS.md.
Recommended versions of tools used within the repo:
firstname.lastname@example.org greater (in some environments, you may need to specify version of python i.e.
- Poetry is a packaging and dependency manager, similar to pip or pipenv
- Poetry provides a custom installer that can be ran via
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python
- Alternatively, poetry can be installed via pip/pip3 with
pip install --user poetryor
pip3 install --user poetry
- See https://poetry.eustace.io/docs/
# Install dependencies (ensure poetry is already installed) # if you are encountering an error with psycopg2 during poetry installation, ensure postgreqsql is installed (macOS: brew install postgresql) poetry install # Create database # By default this creates a local sqlite database and adds tables for each of the defined models # see example.env for database configurations poetry run python src/manage.py migrate # Create a superuser to add to the new database poetry run python src/manage.py createsuperuser # Run local development poetry run python src/manage.py runserver # Run testing suite poetry run pytest # Run formatting and linting poetry run black . # the next line shouldn't output anything to the terminal if it passes poetry run flake8 poetry run isort -rc .
Bandit is a tool designed to find common security issues in Python code.
From within the
back-end/ directory you can run the following Bandit command:
bandit -r .runs all bandit tests recursively with only filters defined in the