These instructions will get you a copy of the project up and running.
A step by step series of examples that tell you how to get a development env running.
For local development, we use Docker Compose.
First install the prerequisite software:
- Install Docker and Docker Compose
- Install Python 3, pip, pyenv, and pre-commit
Create a virtual environment for this project:
pyenv virtualenv cmo-allocation
pyenv activate cmo-allocation
Install project dependencies:
make dep
Spin up the project:
make run
Run migrations (every time you update Django models):
make migrate
Everything you need for this project is under Makefile. Take a look at the commands by running make
.
Also, for CI/CD we use Github Actions. Take a look at the workflows folder and the CI/CD flow.
This project follows Semantic Versioning for releases. The flow for PRs and releasing guidelines can be found at Pull Request Workflow.
Currently, we deploy our service into Heroku as follows
- For every PR, Heroku spins up a new environment
- After we merge to main branch, we deploy to our staging environment
For details about the Heroku environments for cmo-allocation take a look -> here