CODA is a software to manage funding requests for open access fees. It is still very early in development and should not be used in production and there will be breaking changes frequently.
We provide a Docker Compose and devcontainer configuration to develop CODA in a Docker environment. Using an editor or IDE with devcontainer support (like VS Code or PyCharm) should be enough to get started. All necessary dependencies will be installed in the devcontainer.
When launching the devcontainer, CODA will automatically be started at localhost:8000
CODA uses pdm
to manage the project and its dependencies. See pdm's documentation for more details.
CODA uses a rather strict pre-commit
configuration, a tool that runs checks on the code base before allowing a git commit to be persisted.
-
mypy
: we runmypy
in strict mode to ensure that everything in the code base is properly typed. -
ruff
: ruff is a linter used to ensure proper coding style. -
black
: we use black as a code formatter to ensure that all code looks uniform. -
djlint
: in strict mode to ensure that everything in the code base is properly typed. -
ruff
: ruff is a linter used to ensure proper coding style. -
black
: we use black as a code formatter to ensure that all code looks uniform. -
djlint
:djlint
is used to check django templates for proper code style. -
commitizen
: is used to check django templates for proper code style. -
commitizen
:commitizen
is a tool to enforce conventional commits
As we use commitizen
to ensure correct commit formatting, we recommend using its commandline tool to generate the commit message.
pdm run cz commit
CODA provides a Docker Compose configuration to launch the application in productio mode.
For this, additional environment variables must be provided in .envs/.production/django.env
and .envs/.production/postgres.env
.
To launch the project, run:
make up