Contributing
August 4, 2025 ยท View on GitHub
The project is developed and maintained by developers in an Open Source manner. Any support is welcome. You could help by writing documentation, pull-requests, report issues and/or translations.
Getting Started
An issue with the good first or help wanted label might be a good place to start with.
Setting up the development environment
Install dependencies
pipenv sync --categories "packages dev-packages docs"
Install pre-commit hooks
pre-commit install
to run pre-commit on your branch:
pre-commit run --files $(git diff --name-only develop...HEAD)
Using Docker
Make sure you have docker and docker-compose installed. Then run:
make build
Using Virtualenv
Make sure you have Postgres and Redis installed on your system.
Setting up postgres for the first time
sudo -u postgres psql
CREATE ROLE my_username LOGIN PASSWORD 'my_password';
CREATE DATABASE care WITH OWNER = my_username;
put the following in your .env file
DATABASE_URL=postgres://<your_username>:<your_password>@localhost:5432/care
Setting up the environment
# create a virtualenv
python3 -m venv .venv
# activate the virtualenv
source .venv/bin/activate
# install dependencies
pipenv sync --categories "packages dev-packages docs"
# to read from .env file
export DJANGO_READ_DOT_ENV_FILE=true
# run migrations
python manage.py migrate
Troubleshooting Local Setup
If you're on Mac and you have installed Postgres.app Run:
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/14/bin
If you're pipenv install is failing on Pillow Consider installing these dependencies:
brew install libjpeg libtiff little-cms2 openjpeg webp freetype harfbuzz fribidi
Setting up the database
- Seed the database with the following command:
python manage.py load_fixtures
- Create a superuser
python manage.py createsuperuser
Running the server
Using Docker
make up
if you want to attach the vscode debugger set DJANGO_DEBUG=True in .env file.
Note: Whenever you update a python dependency or make a new migration to be executed on the database, you may have to rebuild the container by running
make re-build
Using Virtualenv
python manage.py runserver
Running tests
Docker:
# To run all tests
make test
# To run a specific test file, class, or method:
make test path=<path_to_test>
Local:
python manage.py test
Join us on Slack for more information