Este é um projeto de exemplo de uma API REST feito em Django, desenvolvido como parte do desafio proposto pela Generation Brasil e Potencia Tech.
https://django-potencia-tech.onrender.com/api/v1/docs/
Este projeto demonstra a criação de uma API RESTful usando o framework Django. O objetivo é fornecer um exemplo simples para configurar e executar o projeto, bem como detalhes sobre a integração contínua com o GitHub Actions.
Este projeto faz uso de diversas tecnologias e ferramentas, incluindo:
-
Django: Um framework web em Python amplamente utilizado para o desenvolvimento de aplicações web.
-
Docker: Uma plataforma que permite a criação, implantação e execução de aplicativos em contêineres.
-
GitHub Actions: Uma funcionalidade do GitHub que permite a automação de fluxos de trabalho, como integração contínua e implantação contínua.
-
Swagger: Uma estrutura de código aberto que ajuda a projetar, construir, documentar e consumir serviços da web RESTful.
-
Django Rest Framework (DRF): Uma poderosa e flexível toolkit para criar Web APIs em Django.
-
Pytest: Uma estrutura de teste que torna mais fácil escrever testes simples e escaláveis em Python.
-
Poetry: Uma ferramenta para gerenciar dependências e ambientes virtuais em projetos Python.
-
Render: Uma plataforma de implantação e hospedagem para aplicativos web e serviços.
-
Makefile: Um arquivo de configuração que define comandos e alvos personalizados, como construção, execução de testes e linting, simplificando tarefas de desenvolvimento.
Para iniciar o projeto localmente, siga as instruções abaixo:
-
Clone o Repositório: Faça uma cópia deste repositório em sua máquina local.
-
Configuração do Ambiente Python: Certifique-se de que você possui um ambiente Python configurado. Use algum gerenciador de pacotes para instalar as dependências.
Como
pip
:pip install -r requirements.txt
Ou
poetry
:poetry install
-
Migrações do Banco de Dados: Aplique as migrações para configurar o banco de dados:
python manage.py makemigrations python manage.py migrate
-
Inicie o Servidor de Desenvolvimento do Django:
python manage.py runserver
-
Agora, você pode acessar o projeto em http://localhost:8000/.
Se preferir usar Docker, siga estas etapas:
-
Clone o Repositório: Clone o repositório em sua máquina local.
-
Certifique-se de que o Docker e o Docker Compose estejam instalados.
-
Execute o seguinte comando para construir o ambiente de desenvolvimento:
make build
-
Após a conclusão da construção, inicie o servidor do Django com o seguinte comando:
make start
-
Agora, você pode acessar o projeto em http://localhost:8000/.
-
Test-Driven Development (TDD): Implementamos a abordagem TDD com Pytest, escrevendo testes unitários antes de desenvolver a funcionalidade real. E também separamos o banco de dados de prod e de testes. Isso ajudou a garantir a confiabilidade do código e facilitou futuras modificações.
-
Design Patterns: Aplicamos padrões de design reconhecidos, como o modelo MTV (Model-Template-View) do Django, que promove a separação de responsabilidades em nossa aplicação.
-
Versionamento de API: Para garantir a estabilidade e compatibilidade, adotamos um sistema de versionamento de API. Isso permite a evolução controlada da API sem impactar os clientes existentes.
-
Estilo de Código: Seguimos um estilo de código consistente e claro, aderindo às diretrizes PEP 8 para Python. Utilizamos nomes de variáveis descritivos e optamos pelo uso de comentários significativos quando necessário.
-
Integração Contínua: Implementamos um pipeline de integração contínua usando o GitHub Actions. Isso nos permitiu automatizar testes, análise de código e implantação.
-
Commits Semânticos: Adotamos a prática de commits semânticos para manter um histórico de alterações legível e informativo.
Este projeto é distribuído sob a licença MIT. Consulte o arquivo LICENSE para obter detalhes completos sobre os termos da licença.
Sinta-se à vontade para contribuir com melhorias ou correções para este projeto. Basta abrir uma issue ou enviar um pull request.