🏢 Sistema Integrador Empresarial
🏢 Sistema Integrador Empresarial
Plataforma completa de gestão empresarial integrada
👨💻 Sobre o Desenvolvedor
Márcio Gil
Embaixador da Turma 14 - DIO Campus Expert
Estudante de Engenharia de Software
Apaixonado por tecnologia, inovação e justiça social
📋 Índice
- Sobre o Projeto
- Arquitetura
- Tecnologias
- Funcionalidades
- Estrutura do Projeto
- Instalação
- Uso
- API Endpoints
- Documentação
- Testes
- Deploy
- Roadmap
- Contribuindo
- Licença
🎯 Sobre o Projeto
O Sistema Integrador Empresarial é uma solução completa e moderna para gestão empresarial, desenvolvido com as melhores práticas de engenharia de software. O sistema integra diferentes setores da empresa em uma única plataforma, proporcionando eficiência operacional, controle financeiro e tomada de decisões baseada em dados.
🌟 Diferenciais
- 🔐 Autenticação JWT - Sistema seguro com tokens de acesso e refresh
- 📊 Dashboard Analítico - Visualização de métricas e KPIs em tempo real
- 🔄 API RESTful Completa - Documentação automática com Swagger/ReDoc
- 📱 Responsive Design - Interface adaptável para desktop, tablet e mobile
- 🎨 UI/UX Moderna - Design limpo e intuitivo com Tailwind CSS
- ⚡ Performance - Otimizações de query com
select_relatedeprefetch_related - 🔍 Busca Avançada - Filtros dinâmicos e busca full-text
- 📝 Auditoria Completa - Rastreamento de todas as operações do sistema
- 🌐 Internacionalização - Preparado para múltiplos idiomas (PT-BR)
- 🔧 Extensível - Arquitetura modular e escalável
🏗️ Arquitetura
O projeto segue uma arquitetura moderna baseada em:
┌─────────────────────────────────────────────────────────────┐
│ FRONTEND (React) │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Dashboard │ │ Módulos │ │ Relatórios │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘
▲ │
HTTP │ │ JSON
│ ▼
┌─────────────────────────────────────────────────────────────┐
│ API REST (Django DRF) │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ JWT Auth │ Serializers │ ViewSets │ Permissions │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
▲ │
ORM │ │ SQL
│ ▼
┌─────────────────────────────────────────────────────────────┐
│ BANCO DE DADOS (SQLite) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │Clientes │ │Produtos │ │ Vendas │ │Financeiro│ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────────────────────┘
Padrões Utilizados
- MVC/MVT - Model-View-Template (Django)
- Repository Pattern - Camada de acesso a dados
- Service Layer - Lógica de negócio isolada
- DTOs - Serializers para transferência de dados
- Dependency Injection - Injeção de dependências
- SOLID Principles - Código limpo e manutenível
🚀 Tecnologias
Backend
TecnologiaVersãoDescrição3.13.3Linguagem principal
5.0.7Framework web
3.15.2API REST framework
5.3.1Autenticação
3.xBanco de dados
Frontend (Planejado - ETAPA 5)
TecnologiaVersãoDescrição18.3Biblioteca UI
5.xBuild tool
3.xFramework CSS
1.xHTTP client
6.xRoteamento
DevOps & Tools
- Git - Controle de versão
- GitHub - Repositório remoto
- VS Code - IDE
- Postman - Testes de API
- Django Debug Toolbar - Debug e profiling
- drf-spectacular - Documentação automática (Swagger/ReDoc)
📸 Screenshots
🔐 Tela de Login
Interface moderna com validação em tempo real
📊 Dashboard Analítico
Visão geral com métricas, gráficos e estatísticas em tempo real
👥 Gestão de Clientes
CRUD completo com busca, filtros e validação de CPF/CNPJ
📦 Controle de Produtos
Gestão de produtos com categorias, preços e imagens
📊 Controle de Estoque
Movimentações, alertas de estoque mínimo e histórico completo
🛒 Sistema de Vendas
Carrinho interativo com cálculo automático de totais
💰 Gestão Financeira
Contas a pagar/receber com controle de vencimentos e status
📚 API Documentation (Swagger)
Documentação interativa automática com drf-spectacular
📝 Nota: Para visualizar o sistema em ação localmente, siga as instruções de Instalação ou acesse a demo online (em breve).
✨ Funcionalidades
📦 Módulos Implementados
1. 👥 Gestão de Clientes
- ✅ Cadastro de clientes Pessoa Física (CPF) e Jurídica (CNPJ)
- ✅ Validação automática de CPF/CNPJ
- ✅ Histórico completo de interações
- ✅ Busca avançada por múltiplos campos
- ✅ Status ativo/inativo
2. 📦 Gestão de Produtos
- ✅ Categorias hierárquicas (pai/filho)
- ✅ Código SKU automático
- ✅ Preço de custo e venda
- ✅ Cálculo de margem de lucro
- ✅ Unidades de medida customizáveis
- ✅ Código de barras (EAN13)
3. 📊 Controle de Estoque
- ✅ Movimentações de entrada/saída
- ✅ Estoque mínimo e máximo
- ✅ Alertas de reposição
- ✅ Rastreamento de localização
- ✅ Histórico completo de movimentações
- ✅ Status do estoque (adequado/baixo/crítico/excesso)
4. 🛒 Vendas
- ✅ Pedidos com múltiplos itens
- ✅ Cálculo automático de totais
- ✅ Status do pedido (pendente/confirmado/em separação/enviado/entregue/cancelado)
- ✅ Formas de pagamento diversas
- ✅ Data de entrega prevista
- ✅ Ações customizadas (confirmar/cancelar pedido)
5. 💰 Financeiro
- ✅ Faturas vinculadas a pedidos
- ✅ Contas a receber
- ✅ Contas a pagar
- ✅ Controle de juros, multas e descontos
- ✅ Identificação de contas atrasadas
- ✅ Múltiplas formas de pagamento
- ✅ Categorização de despesas
6. 🏭 Fornecedores
- ✅ Cadastro completo com CNPJ
- ✅ Dados bancários
- ✅ Sistema de avaliação (0-5)
- ✅ Categorização por tipo
- ✅ Histórico de compras
7. 👨💼 Usuários e Departamentos
- ✅ Gestão de usuários (admin/gerente/vendedor/operador)
- ✅ Departamentos com hierarquia
- ✅ Controle de permissões granular
- ✅ Alteração de senha segura
- ✅ Endpoint
/mepara dados do usuário logado
8. 📝 Auditoria
- ✅ Logs de todas as operações (CREATE/UPDATE/DELETE)
- ✅ Rastreamento de IP e User Agent
- ✅ Versionamento de dados (antes/depois)
- ✅ Apenas leitura para administradores
📁 Estrutura do Projeto
Sistema_Integrador_Empresarial/
├── 📂 backend/
│ ├── 📂 config/ # Configurações do Django
│ │ ├── settings.py # Settings principal
│ │ ├── urls.py # URLs raiz + Swagger
│ │ └── wsgi.py
│ ├── 📂 clientes/ # App de Clientes
│ │ ├── models.py # Model Cliente
│ │ ├── serializers.py # Serializers DRF
│ │ ├── views.py # ViewSets
│ │ ├── urls.py # Rotas
│ │ └── admin.py # Admin Django
│ ├── 📂 produtos/ # App de Produtos
│ ├── 📂 estoque/ # App de Estoque
│ ├── 📂 vendas/ # App de Vendas
│ ├── 📂 financeiro/ # App Financeiro
│ ├── 📂 fornecedores/ # App de Fornecedores
│ ├── 📂 usuarios/ # App de Usuários
│ ├── 📂 auditoria/ # App de Auditoria
│ ├── 📂 logs/ # Logs do sistema
│ ├── 📂 media/ # Uploads de arquivos
│ ├── 📂 staticfiles/ # Arquivos estáticos
│ ├── 📄 manage.py # CLI do Django
│ ├── 📄 db.sqlite3 # Banco de dados
│ ├── 📄 requirements.txt # Dependências Python
│ ├── 📄 API_TESTS.http # Testes HTTP (47 exemplos)
│ └── 📄 populate_db.py # Script de seed
├── 📂 frontend/ # React App (ETAPA 5)
│ └── (Em breve)
├── 📂 docs/ # Documentação
│ ├── PLANEJAMENTO.md # Planejamento geral
│ ├── DIAGRAMA_ER.md # Diagrama ER
│ ├── ETAPA_2_CONCLUIDA.md # Conclusão ETAPA 2
│ ├── ETAPA_3_CONCLUIDA.md # Conclusão ETAPA 3
│ └── TAREFAS.md # Lista de tarefas
├── 📄 README.md # Este arquivo
├── 📄 .gitignore # Arquivos ignorados
└── 📄 LICENSE # Licença MIT
🔧 Instalação
Pré-requisitos
- Python 3.13+
- pip (gerenciador de pacotes Python)
- Git
- Virtualenv (recomendado)
Passo a Passo
- Clone o repositório
git clone https://github.com/MarcioGil/Sistema_Integrador_Empresarial.git
cd Sistema_Integrador_Empresarial
- Crie e ative o ambiente virtual
# Windows
cd backend
python -m venv venv
.\venv\Scripts\activate
# Linux/Mac
cd backend
python3 -m venv venv
source venv/bin/activate
- Instale as dependências
pip install -r requirements.txt
- Configure as variáveis de ambiente
Crie um arquivo .env na pasta backend/:
SECRET_KEY=sua-chave-secreta-aqui
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1
DATABASE_URL=sqlite:///db.sqlite3
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://127.0.0.1:3000
JWT_ACCESS_TOKEN_LIFETIME=60
JWT_REFRESH_TOKEN_LIFETIME=10080
- Execute as migrações
python manage.py makemigrations
python manage.py migrate
- Crie um superusuário
python manage.py createsuperuser
# Username: admin
# Email: admin@admin.com
# Password: admin123
- Execute o servidor
python manage.py runserver
- Acesse a aplicação
- API: http://127.0.0.1:8000/api/
- Admin: http://127.0.0.1:8000/admin/
- Swagger: http://127.0.0.1:8000/api/docs/
- ReDoc: http://127.0.0.1:8000/api/redoc/
💻 Uso
1. Obter Token JWT
POST http://127.0.0.1:8000/api/token/
Content-Type: application/json
{
"username": "admin",
"password": "admin123"
}
Response:
{
"refresh": "eyJ0eXAiOiJKV1QiLCJhbGc...",
"access": "eyJ0eXAiOiJKV1QiLCJhbGc..."
}
2. Usar o token nas requisições
GET http://127.0.0.1:8000/api/clientes/
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGc...
3. Exemplos Práticos
Criar Cliente:
POST http://127.0.0.1:8000/api/clientes/
Authorization: Bearer {seu-token}
Content-Type: application/json
{
"tipo": "PF",
"nome_completo": "João Silva",
"cpf": "12345678901",
"email": "joao@email.com",
"telefone": "(11) 98765-4321",
"endereco": "Rua A, 123",
"cidade": "São Paulo",
"estado": "SP",
"cep": "01000-000",
"ativo": true
}
Criar Pedido com Itens:
POST http://127.0.0.1:8000/api/pedidos/
Authorization: Bearer {seu-token}
Content-Type: application/json
{
"cliente": 1,
"forma_pagamento": "cartao_credito",
"itens": [
{
"produto": 1,
"quantidade": 2,
"preco_unitario": 3500.00
}
]
}
📚 API Endpoints
🔐 Autenticação
MétodoEndpointDescriçãoPOST/api/token/Obter access e refresh tokenPOST/api/token/refresh/Renovar access tokenPOST/api/token/verify/Verificar validade do token
👥 Clientes
MétodoEndpointDescriçãoGET/api/clientes/Listar clientesPOST/api/clientes/Criar clienteGET/api/clientes/{id}/Detalhes do clientePUT/api/clientes/{id}/Atualizar clientePATCH/api/clientes/{id}/Atualizar parcialmenteDELETE/api/clientes/{id}/Deletar cliente
📦 Produtos
MétodoEndpointDescriçãoGET/api/categorias/Listar categoriasPOST/api/categorias/Criar categoriaGET/api/produtos/Listar produtosPOST/api/produtos/Criar produtoGET/api/produtos/{id}/Detalhes do produtoPUT/PATCH/api/produtos/{id}/Atualizar produtoDELETE/api/produtos/{id}/Deletar produto
📊 Estoque
MétodoEndpointDescriçãoGET/api/estoques/Listar estoquePOST/api/estoques/Criar registro de estoqueGET/api/estoques/necessita_reposicao/Produtos com estoque baixoPOST/api/movimentacoes/Criar movimentaçãoGET/api/movimentacoes/Histórico de movimentações
🛒 Vendas
MétodoEndpointDescriçãoGET/api/pedidos/Listar pedidosPOST/api/pedidos/Criar pedido com itensGET/api/pedidos/{id}/Detalhes do pedidoPOST/api/pedidos/{id}/confirmar/Confirmar pedidoPOST/api/pedidos/{id}/cancelar/Cancelar pedido
💰 Financeiro
MétodoEndpointDescriçãoGET/api/faturas/Listar faturasGET/api/faturas/atrasadas/Faturas atrasadasGET/api/contas-receber/Contas a receberPOST/api/contas-receber/Criar conta a receberPOST/api/contas-receber/{id}/receber/Marcar como recebidaGET/api/contas-pagar/Contas a pagarPOST/api/contas-pagar/Criar conta a pagarPOST/api/contas-pagar/{id}/pagar/Marcar como paga
🏭 Fornecedores
MétodoEndpointDescriçãoGET/api/fornecedores/Listar fornecedoresPOST/api/fornecedores/Criar fornecedorGET/PUT/DELETE/api/fornecedores/{id}/Operações CRUD
👨💼 Usuários
MétodoEndpointDescriçãoGET/api/usuarios/Listar usuáriosPOST/api/usuarios/Criar usuário (admin)GET/api/usuarios/me/Dados do usuário logadoPOST/api/usuarios/{id}/alterar_senha/Alterar senhaGET/api/departamentos/Listar departamentos
📝 Auditoria
MétodoEndpointDescriçãoGET/api/logs/Logs de auditoria (admin)GET/api/logs/{id}/Detalhes do log
💡 Dica: Consulte o arquivo API_TESTS.http para 47 exemplos completos de requisições!📖 Documentação
Swagger UI (Interativo)
Acesse http://127.0.0.1:8000/api/docs/ para visualizar e testar todos os endpoints interativamente.
ReDoc (Documentação Limpa)
Acesse http://127.0.0.1:8000/api/redoc/ para uma documentação mais limpa e organizada.
Django Admin
Acesse http://127.0.0.1:8000/admin/ para gerenciar dados via interface administrativa.
🧪 Testes
Testes Automatizados (Em breve)
python manage.py test
Testes de API com arquivo HTTP
Use a extensão REST Client do VS Code com o arquivo API_TESTS.http:
- Instale a extensão REST Client no VS Code
- Abra
backend/API_TESTS.http - Clique em "Send Request" acima de cada requisição
- Substitua
{{token}}pelo seu access token
Coverage (Em breve)
coverage run --source='.' manage.py test
coverage report
coverage html
🚀 Deploy
Heroku
# Instalar Heroku CLI
heroku login
heroku create sistema-integrador-empresarial
git push heroku main
heroku run python manage.py migrate
heroku run python manage.py createsuperuser
Docker (Em breve)
docker-compose up --build
Variáveis de Ambiente para Produção
SECRET_KEY=chave-super-secreta-em-producao
DEBUG=False
ALLOWED_HOSTS=seudominio.com,www.seudominio.com
DATABASE_URL=postgresql://user:pass@host:5432/dbname
CORS_ALLOWED_ORIGINS=https://seudominio.com
🗺️ Roadmap
✅ Fase 1 - Planejamento (Concluída)
- Definição de escopo e módulos
- Modelagem do banco de dados
- Diagrama ER completo
- Documentação técnica
✅ Fase 2 - Setup do Ambiente (Concluída)
- Configuração Django
- Criação de 8 apps
- Configuração de CORS e JWT
- Django Admin customizado
✅ Fase 3 - Models e Database (Concluída)
- 14 models criados
- Migrações aplicadas
- Validações de negócio
- Properties calculadas
✅ Fase 4 - API REST (Concluída)
- Serializers com validações
- ViewSets com CRUD completo
- Filtros, busca e ordenação
- Documentação Swagger/ReDoc
- Autenticação JWT
- Actions customizadas
🔄 Fase 5 - Frontend React (Em Progresso)
- Setup Vite + React
- Configuração Tailwind CSS
- Sistema de autenticação
- Dashboard com gráficos
- CRUD de todos os módulos
- Relatórios em PDF
- Componentes reutilizáveis
📅 Fase 6 - Features Avançadas (Planejado)
- WebSockets para notificações em tempo real
- Exportação de relatórios (PDF, Excel)
- Integração com APIs externas (CEP, nota fiscal)
- Sistema de permissões granulares
- Multi-tenancy (suporte a múltiplas empresas)
- Internacionalização (i18n)
📅 Fase 7 - Testes e Qualidade (Planejado)
- Testes unitários (>80% coverage)
- Testes de integração
- Testes E2E com Cypress
- CI/CD com GitHub Actions
- Code quality com SonarQube
📅 Fase 8 - Deploy e Produção (Planejado)
- Dockerfile e docker-compose
- Deploy em cloud (AWS/Heroku/DigitalOcean)
- Monitoramento com Sentry
- Logs centralizados
- Backup automatizado
🤝 Contribuindo
Contribuições são sempre bem-vindas! Siga os passos abaixo:
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Guidelines
- Siga o padrão de código PEP 8 (Python)
- Adicione testes para novas funcionalidades
- Atualize a documentação conforme necessário
- Commit messages em português ou inglês
- Use commits semânticos (feat:, fix:, docs:, etc.)
📄 Licença
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
🙏 Agradecimentos
- DIO - Digital Innovation One - Pela formação em tecnologia
- Django - Framework web robusto
- Django REST Framework - Toolkit para APIs
- React - Biblioteca UI moderna
- Comunidade Open Source - Por todo o suporte e inspiração
📞 Contato
Márcio Gil - marciopaivagil@gmail.com
Project Link: https://github.com/MarcioGil/Sistema_Integrador_Empresarial
⭐ Se este projeto foi útil para você, considere dar uma estrela!
Desenvolvido com ❤️ por Márcio Gil
Embaixador DIO Campus Expert - Turma 14















