Skip to content

luderibeiro/django_base

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🚀 Django Base - Template com Arquitetura Limpa

Python Django Version Tests License Documentation Docker

🌟 Template profissional para projetos Django com Arquitetura Limpa

📖 Documentação🚀 Início Rápido🏗️ Arquitetura🤝 Contribuir


🎯 Sobre o Projeto

Este template Django oferece uma base sólida e profissional para desenvolvimento de aplicações web e APIs, seguindo os princípios da Clean Architecture. Ideal para:

  • 🔥 Startups que precisam de desenvolvimento rápido e escalável
  • 🏢 Empresas que buscam padronização e qualidade de código
  • 👨‍💻 Desenvolvedores que querem aprender boas práticas de arquitetura
  • 🎓 Estudantes interessados em projetos bem estruturados

✨ Principais Características

  • 🏗️ Arquitetura Limpa - Separação clara de responsabilidades
  • 📊 93% Cobertura de Testes - Suite completa de testes unitários e de integração
  • 📖 OpenAPI/Swagger - Documentação automática da API
  • 🔧 Pre-commit Hooks - Qualidade de código automatizada
  • 🐍 MyPy - Verificação de tipos estática
  • 🐳 Docker Ready - Containerização completa para desenvolvimento e produção
  • 🚀 GitHub Actions CI/CD - Pipeline completo de integração contínua
  • 📚 Documentação Rica - MkDocs com MkDocstrings para documentação automática
  • 🔧 Makefile Poderoso - 20+ comandos de automação de desenvolvimento
  • 🎨 Interface Admin - Django Jazzmin para administração elegante
  • 🔐 Autenticação OAuth2 - Sistema de autenticação robusto
  • 📊 API REST - Django REST Framework configurado

🚀 Início Rápido

Pré-requisitos

  • Python 3.12+
  • Docker & Docker Compose (opcional)
  • Git

⚡ Setup em 3 comandos

# 1. Clone o template
git clone https://github.com/luderibeiro/django_base.git meu_projeto
cd meu_projeto

# 2. Configure o ambiente
make setup

# 3. Inicie o servidor
make run

🎉 Pronto! Acesse http://127.0.0.1:8000

🐳 Com Docke

# Desenvolvimento
make docker-run

# Produção
make docker-prod

🏗️ Arquitetura

project/
├── core/                    # Aplicação principal
│   ├── domain/             # Regras de negócio
│   ├── repositories/       # Acesso a dados
│   ├── api/               # Endpoints REST
│   └── admin/             # Interface administrativa
├── project/               # Configurações Django
└── tests/                 # Testes automatizados

🎯 Camadas da Arquitetura

  • 🎯 Domain: Entidades e regras de negócio
  • 🔄 Repository: Abstração de acesso a dados
  • 🌐 API: Endpoints e serializers
  • ⚙️ Infrastructure: Configurações e integrações

📋 Comandos Disponíveis

make help              # Lista todos os comandos
make setup             # Configuração inicial completa
make test              # Executa todos os testes
make test-coverage     # Testes com cobertura
make lint              # Análise de código
make format            # Formatação automática
make docs-serve        # Serve documentação local
make clean             # Limpeza de arquivos temporários

🛠️ Tecnologias

  • Backend: Django 5.2+, Django REST Framework
  • Database: PostgreSQL (produção), SQLite (desenvolvimento)
  • Authentication: Django OAuth Toolkit
  • Testing: pytest, pytest-django
  • Documentation: MkDocs
  • Containerization: Docker, Docker Compose
  • Code Quality: Black, Flake8, pip-audit

📖 Documentação Completa

Para guias detalhados, exemplos e referências da API, acesse nossa documentação completa.

📚 Guias Disponíveis

🤝 Contribuição

Contribuições são muito bem-vindas! Este projeto foi criado para ser um template comunitário.

💡 Como Contribuir

  1. 🍴 Faça um fork do projeto
  2. 🌟 Crie sua feature branch (git checkout -b feature/AmazingFeature)
  3. ✅ Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. 📤 Push para a branch (git push origin feature/AmazingFeature)
  5. 🔄 Abra um Pull Request

🎯 Ideias para Contribuição

  • 📱 Templates específicos (e-commerce, blog, API, etc.)
  • 🔧 Melhorias na automação
  • 📚 Tradução da documentação
  • 🧪 Novos casos de teste
  • 🎨 Melhorias na UI/UX

📄 Licença

Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para detalhes.

🌟 Apoie o Projeto

Se este template foi útil para você:

  • ⭐ Dê uma estrela no repositório
  • 🍴 Faça um fork para suas customizações
  • 📢 Compartilhe com outros desenvolvedores
  • 🐛 Reporte bugs ou sugira melhorias

Desenvolvido com ❤️ para a comunidade Django

📖 Documentação🐛 Issues💬 Discussões