2.2 KiB
data.coop member system
Development setup
There are two ways to setup the development environment.
- Using the Docker Compose setup provided in this repository.
- Using hatch in your host OS.
Using Docker Compose
Working with the Docker Compose setup is made easy with the Makefile
provided in the repository.
Requirements
- Docker
- docker compose plugin
Setup
-
Setup .env file
An example .env file is provided in the repository. You can copy it to .env file using the following command:
cp .env.example .env
The default values in the .env file are suitable for the docker-compose setup.
-
Migrate
make migrate
-
Run the development server
make run
Building and running other things
# Build the containers
make build
# Create a superuser
make createsuperuser
# Create Django migrations (after this, maybe you need to change file permissions in volume)
make makemigrations
Using hatch
Requirements
- Python 3.12 or higher
- hatch (Recommended way to install is using
pipx install hatch
) - A running PostgreSQL server
Setup
-
Setup .env file
An example .env file is provided in the repository. You can copy it to .env file using the following command:
cp .env.example .env
Edit the .env file and set the values for the environment variables, especially the database variables.
-
Run migrate
hatch run dev:migrate
-
Run the development server
hatch run dev:server
Upgrade requirements
We use hatch-pip-compile.
# Install hatch-pip-compile in some environment
pipx install hatch-pip-compile
# Change requirements in pyproject.toml (...)
# Update requirements.txt:
hatch-pip-compile
# Update requirements/requirements-dev.txt:
hatch-pip-compile dev
Updating requirements
If you want to update the requirements, you can run the following command:
hatch run requirements
This uses hatch-pip-compile to update the requirements.