Este projeto é uma API desenvolvida como parte de um desafio para a vaga de Desenvolvedor Fullstack Python da Bnex. A API é configurada com Django e Django Rest Framework (DRF) e inclui documentação interativa gerada com Swagger e ReDoc.
- Altere as variáveis de ambiente do arquivo .env conforme sua necessidade
A configuração de URLs do projeto está definida no arquivo urls.py
. Aqui está uma visão geral das rotas e suas respectivas funcionalidades:
-
Administração Django
- URL:
/admin/
- Descrição: Interface administrativa do Django para gerenciar o conteúdo do projeto.
- URL:
-
Health Check
- URL:
/api/v1/healthcheck/
- Descrição: Endpoint simples para verificar se a API está funcionando. Retorna "OK" com o status HTTP 200.
- URL:
-
Endpoints de Usuários
- URL:
/api/v1/
- Descrição: Inclui as rotas definidas no arquivo
users.urls
, que gerencia operações relacionadas a usuários.
- URL:
-
Endpoints de Produtos
- URL:
/api/v1/
- Descrição: Inclui as rotas definidas no arquivo
products.urls
, que gerencia operações relacionadas a produtos.
- URL:
-
Documentação Swagger
- URL:
/api/v1/swagger/
- Descrição: Interface Swagger para visualizar e interagir com a API. Disponível em formato UI Swagger.
- URL:
-
Documentação ReDoc
- URL:
/api/v1/redoc/
- Descrição: Interface ReDoc para visualizar e interagir com a API. Disponível em formato UI ReDoc.
- URL:
A documentação da API é gerada usando a biblioteca drf-yasg
. O esquema Swagger é configurado com as seguintes informações:
- Título: Desafio Bnex API
- Versão: v1
- Descrição: API utilizada no desafio para a vaga de Desenvolvedor Fullstack Python da Bnex
- Termos de Serviço: Google Terms
- Contato: [email protected]
- Licença: BSD License
-
Instale as dependências
Certifique-se de que todas as dependências estão instaladas. Você pode usar um ambiente virtual e o
pip
para instalar as dependências listadas no arquivorequirements.txt
:pip install -r requirements.txt
Também instale as dependências de desenvolvedor listadas no arquivo 'requirements-dev.txt':
pip install -r requirements-dev.txt
-
Configuração do Banco de Dados
Certifique-se de que o banco de dados está configurado corretamente e as migrações estão aplicadas:
python manage.py makemigrations
python manage.py migrate
-
Inicie o Servidor de Desenvolvimento
python manage.py runserver
O servidor estará disponível em http://localhost:8000/.
-
Acessando a Documentação
- Swagger UI: Navegue até http://localhost:8000/api/v1/swagger/ para acessar a interface Swagger da documentação da API.
- ReDoc UI: Navegue até http://localhost:8000/api/v1/redoc/ para acessar a interface ReDoc da documentação da API.
-
Execução de testes: Para executar os testes unitários no backend, entre na pasta
/api
e utilize o seguinte comando:python manage.py test