Api feita em DRF para o frontend mk-burger
🪧 Vitrine.Dev | |
---|---|
✨ Nome | Make Burger API |
🏷️ Tecnologias | Django Rest Framework , Python , Postgres , Pytest , Docker , Poetry , Ruff , codecov , swagger |
🚀 URL |
Instalando dependencias com o poetry
poetry install
Formatador com Black
task fmt
Linter com Ruff
task linter
Rodando os testes
task tests
Listar todos os comandos do taskipy
task -l
Variaveis de ambiente com python-decouple
SECRET_KEY="Sua chave secreta aqui"
DEBUG=True
DOC_API=True
ALLOWED_HOSTS=localhost,127.0.0.1
DATABASE_URL=postgres://test_user:test_password@localhost:5432/test_user
Para usar o sqlite
basta retirar a variável DATABASE_URL
Subindo o banco de dados Postgres
com docker-compose
docker compose database up -d
Instalando o pre-commit
pre-commit install
Subindo a aplicação
docker compose -f docker-compose.dev.ym up
Rodando os testes
docker compose -f docker-compose.dev.yml run backend task tests
Para simular o ambiente de produção foi usado gunicorn
como servide de aplicação e nginx
como servidor web.
Subindo a aplicação nginx
, postgres
e gunicorn
docker compose -f docker-compose.prod.yml up
Os configurações do nginx
foram
server {
listen 80;
server_name localhost;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://backend:8000;
}
location /static {
alias /var/www/site/staticfiles;
}
}
Podendo ser achas aqui