Python version: ^3.9
We are using an MVC architecture i.e Model - Dao - Views/Routes, with every feature belong in its own package. docs folder
- Django
- DjangoRestFramework
- Postgres
- Ensure you have postgres 12 setup locally
- Install dependencies using
poetry install
- Copy
.env.local.example
to.env.local
and set the appropriate values - Run
./migrate-new.sh
to set up the schema locally (Note: This is only needs to be run once. For running migrations uses./migrate.sh
). - Run
./migrate.sh
to run data migrations. - Run
export $(grep -v '^#' .env.local | xargs)
to set up the environment variables - Run the server locally with
./run.sh
- Use
./script/lint.sh
for type checks and./script/format.sh
for code formatting. - To run tests, run
./script/test.sh
Note: Make sure you have docker and docker-compose installed.
- Run
make docker.migrate-new
to set up the schema (Note: You only need to run this once) - Run
make docker.run
to bring to up local development server. - Run
make docker.format
to format code using black. - Run
make docker.lint
to lint the code. - Run
make docker.test
to run all tests ormake docker.test app/users/tests
specific tests.