240 lines
5.7 KiB
Markdown
240 lines
5.7 KiB
Markdown
# Projeto Aprovação Pedidos - Ginseng
|
|
|
|
Este é um projeto Django com a estética visual padronizada de todos os apps da empresa Ginseng. Contém um app `home` com um dashboard completo.
|
|
|
|
## 📋 Estrutura do Projeto
|
|
|
|
```
|
|
projeto-aprovação-pedidos/
|
|
├── aprovacao_pedidos/ # Configuração principal do Django
|
|
│ ├── settings.py # Configurações do Django
|
|
│ ├── urls.py # URLs principais
|
|
│ ├── wsgi.py # WSGI para deploy
|
|
│ ├── asgi.py # ASGI para deploy
|
|
│ └── middleware.py # Middlewares customizados
|
|
├── home/ # App principal com dashboard
|
|
│ ├── templates/home/ # Templates HTML
|
|
│ ├── views.py # Views
|
|
│ ├── urls.py # URLs do app
|
|
│ └── migrations/ # Migrações de banco de dados
|
|
├── manage.py # Gerenciador do Django
|
|
├── requirements.txt # Dependências Python
|
|
├── Dockerfile # Configuração Docker
|
|
└── .dockerignore # Arquivos ignorados no Docker
|
|
```
|
|
|
|
## 🚀 Como Rodar Localmente
|
|
|
|
### Pré-requisitos
|
|
- Python 3.11+
|
|
- pip (gerenciador de pacotes Python)
|
|
- Git (opcional)
|
|
|
|
### Instalação Rápida
|
|
|
|
1. **Clone ou copie o projeto para sua máquina**
|
|
|
|
2. **Instale as dependências:**
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
3. **Execute as migrações do banco de dados:**
|
|
```bash
|
|
python manage.py migrate
|
|
```
|
|
|
|
4. **Crie um superusuário (opcional, para acessar admin):**
|
|
```bash
|
|
python manage.py createsuperuser
|
|
```
|
|
|
|
5. **Inicie o servidor de desenvolvimento:**
|
|
```bash
|
|
python manage.py runserver
|
|
```
|
|
|
|
6. **Acesse a aplicação:**
|
|
- **Home:** http://localhost:8000/
|
|
- **Admin:** http://localhost:8000/admin/
|
|
|
|
## 🐳 Como Rodar com Docker
|
|
|
|
### Pré-requisitos
|
|
- Docker instalado e rodando
|
|
|
|
### Passos
|
|
|
|
1. **Build da imagem Docker:**
|
|
```bash
|
|
docker build -t projeto-aprovacao-pedidos .
|
|
```
|
|
|
|
2. **Execute o container:**
|
|
```bash
|
|
docker run -p 8000:8000 projeto-aprovacao-pedidos
|
|
```
|
|
|
|
3. **Acesse a aplicação:**
|
|
```
|
|
http://localhost:8000/
|
|
```
|
|
|
|
### Com Docker Compose (Recomendado)
|
|
|
|
Crie um arquivo `docker-compose.yml`:
|
|
|
|
```yaml
|
|
version: '3.8'
|
|
|
|
services:
|
|
web:
|
|
build: .
|
|
ports:
|
|
- "8000:8000"
|
|
environment:
|
|
- DEBUG=True
|
|
- PYTHONUNBUFFERED=1
|
|
volumes:
|
|
- .:/app
|
|
```
|
|
|
|
Depois execute:
|
|
```bash
|
|
docker-compose up --build
|
|
```
|
|
|
|
## 📱 Features Implementadas
|
|
|
|
✅ **Dashboard Responsivo**
|
|
- 4 cards informativos
|
|
- Gráfico comparativo com Chart.js
|
|
- Layout que se adapta a todos os tamanhos de tela
|
|
|
|
✅ **Sidebar Colapsível**
|
|
- Navegação intuitiva
|
|
- Menu fixo no lado esquerdo
|
|
- Efeito de backdrop ao abrir
|
|
|
|
✅ **Painel de Filtros**
|
|
- Desliza pela direita da tela
|
|
- Filtros customizáveis
|
|
- Opção para limpar todos os filtros
|
|
|
|
✅ **Header com Logo**
|
|
- Logo Ginseng oficial
|
|
- Ciclo ativo exibido
|
|
- Botões de ação rápida
|
|
|
|
✅ **Design Moderno**
|
|
- Cores padronizadas da empresa (#03506B)
|
|
- Tipografia clean (Segoe UI)
|
|
- Sombras e transições suaves
|
|
|
|
## 🎨 Personalizando a Página
|
|
|
|
### Alterar as Cores Principais
|
|
Edit o arquivo [home/templates/home/home_page.html](home/templates/home/home_page.html) e modifique as CSS variables no `<style>`:
|
|
|
|
```css
|
|
:root {
|
|
--accent: #03506B; /* Cor principal */
|
|
--accent-light: #046b8f; /* Cor hover */
|
|
--bg-color: #f6f8fb; /* Fundo */
|
|
--text-primary: #111; /* Texto principal */
|
|
--text-secondary: #6b7280; /* Texto secundário */
|
|
}
|
|
```
|
|
|
|
### Adicionar Novos Cards
|
|
No template HTML, dentro da seção `.cards-row`, adicione:
|
|
|
|
```html
|
|
<div class="card">
|
|
<p class="card-title">Seu título</p>
|
|
<p class="card-value" id="seuId">—</p>
|
|
</div>
|
|
```
|
|
|
|
Depois, adicione os dados no JavaScript:
|
|
```javascript
|
|
document.getElementById('seuId').textContent = 'Seu valor';
|
|
```
|
|
|
|
## 📊 Integrando com APIs Reais
|
|
|
|
Para conectar a dados reais, modifique o arquivo [home/views.py](home/views.py):
|
|
|
|
```python
|
|
@login_required(login_url='/login/')
|
|
def home_page(request):
|
|
"""Nova página home com estética consistente do projeto."""
|
|
# Fetch dados da API
|
|
response = requests.get('https://sua-api.com/dados')
|
|
dados = response.json()
|
|
|
|
context = {
|
|
'dados': dados,
|
|
'user_email': request.user.email if request.user.is_authenticated else '',
|
|
}
|
|
return render(request, "home/home_page.html", context)
|
|
```
|
|
|
|
## 🔒 Segurança
|
|
|
|
- Django CSRF protection ativada
|
|
- Configuração segura para produção (altere `DEBUG=False` em settings.py)
|
|
- Variáveis sensíveis em .env (recomendado usar python-decouple)
|
|
|
|
## 📚 Adicionar Dependências
|
|
|
|
Para instalar novos pacotes:
|
|
|
|
```bash
|
|
pip install nome-do-pacote
|
|
pip freeze > requirements.txt
|
|
```
|
|
|
|
## 🐛 Troubleshooting
|
|
|
|
### Erro "ModuleNotFoundError"
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
### Porta 8000 já em uso
|
|
```bash
|
|
python manage.py runserver 8001
|
|
```
|
|
|
|
### Limpar cache e arquivos compilados
|
|
```bash
|
|
find . -type d -name __pycache__ -exec rm -r {} +
|
|
find . -type f -name "*.pyc" -delete
|
|
```
|
|
|
|
## 📝 Próximos Passos
|
|
|
|
1. Criar superusuário para o admin
|
|
2. Integrar com suas APIs de dados
|
|
3. Adicionar novos apps Django conforme necessário
|
|
4. Configurar autenticação (se necessário)
|
|
5. Deploy em servidor (AWS, Heroku, etc.)
|
|
|
|
## 🤝 Contribuindo
|
|
|
|
Para fazer mudanças mantendo a estética:
|
|
|
|
1. Mantenha as cores padronizadas
|
|
2. Use os componentes existentes (cards, buttons, etc.)
|
|
3. Siga a estrutura de pastas do projeto
|
|
4. Documente mudanças significativas
|
|
|
|
## 📞 Suporte
|
|
|
|
Para dúvidas ou problemas, entre em contato com o time de desenvolvimento.
|
|
|
|
---
|
|
|
|
**© 2026 Ginseng Pedidos. Todos os direitos reservados.**
|