HenriqueCCdA / mk-burger-drf

🦕 API DRF para mk_burger

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mk-burguer-drf

Imagem

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

Desenvolvimento local

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

Desenvolvimento com docker

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

Simulando o ambiente de produção com docker

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

About

🦕 API DRF para mk_burger

License:MIT License


Languages

Language:Python 100.0%