- Swagger and postman are used for documentation
- Docker
- docker-compose
- Clone repository:
git clone git@github.com:miguepoloc/django_stack.gitcd django_stack
- Copy
.env.exampleto.envand custom:
cp .env.example .env
- docker-compose
docker-compose -f docker-compose.dev.yml builddocker-compose -f docker-compose.dev.yml up
- Copy
.env.exampleto.envand custom:
cp .env.example .env
- Create virtualenv and activate
python -m venv venvsource venv/bin/activate(Linux)./venv/Scripts/activate(Windows)
- Install requirements
pip install -r /requirements.txt
- Run
cd srcpython manage.py runserver
docker-compose -f docker-compose.dev.yml run --rm django sh -c "python manage.py makemigrations"docker-compose -f docker-compose.dev.yml run --rm django sh -c "python manage.py migrate"
cd srcpython manage.py makemigrationspython manage.py migrate
docker-compose -f docker-compose.dev.yml run --rm django sh -c "python manage.py startapp appname"
cd srcpython manage.py startapp appname
docker-compose -f docker-compose.dev.yml run --rm django sh -c "python manage.py test"
cd srcpython manage.py test
docker-compose -f docker-compose.local.yml run --rm django sh -c "coverage run --source=. manage.py test --noinput"
To see the report:
docker-compose -f docker-compose.local.yml run --rm django sh -c "coverage report"
To generate html report:
docker-compose -f docker-compose.local.yml run --rm django sh -c "coverage html"
cd srccoverage run --source=. manage.py test --noinput
To see the report:
coverage report
To generate html report:
coverage html
Use pre-commit to run linter before commit, the command is:
pre-commit run --all-files