59 lines
1.8 KiB
Markdown
59 lines
1.8 KiB
Markdown
# Migração gradual SGMP PROD → Next.js
|
||
|
||
Este documento descreve a proposta de migração das telas do Django para o frontend Next.js, feita de forma incremental.
|
||
|
||
## Status atual
|
||
|
||
### ✅ Migradas para Next.js
|
||
- **Login** (`/tela_login`) – autenticação via credenciais Winthor
|
||
- **Dashboard** (`/dashboard`) – métricas e listagem de solicitações
|
||
- **Home** (`/`) – página inicial com links para login e dashboard
|
||
|
||
### 🔄 Ainda no Django
|
||
- Detalhe de solicitação
|
||
- Formulários (desligamento, movimentação, admissão)
|
||
- Todas as solicitações
|
||
- Gerenciamento de permissões
|
||
|
||
## Como executar
|
||
|
||
### 1. Backend (Django)
|
||
```bash
|
||
cd SGMP_PROD
|
||
python manage.py runserver # porta 8000
|
||
```
|
||
|
||
### 2. Frontend (Next.js)
|
||
```bash
|
||
cd SGMP_PROD/frontend
|
||
cp .env.example .env # ajuste NEXT_PUBLIC_API_URL se necessário
|
||
npm run dev # porta 3000
|
||
```
|
||
|
||
### 3. Acesso
|
||
- **Next.js (novas telas)**: http://localhost:3000
|
||
- **Django (telas antigas)**: http://localhost:8000
|
||
|
||
## APIs REST (Django)
|
||
|
||
As seguintes APIs foram criadas para integração com o frontend:
|
||
|
||
| Endpoint | Método | Descrição |
|
||
|----------|--------|-----------|
|
||
| `/api/auth/login/` | POST | Login (JSON: username, password, next?) |
|
||
| `/api/auth/logout/` | POST | Logout |
|
||
| `/api/auth/me/` | GET | Dados do usuário autenticado |
|
||
| `/api/dashboard/` | GET | Dados do dashboard (métricas + solicitações) |
|
||
|
||
## Proxy e cookies
|
||
|
||
O Next.js usa um Route Handler em `/api/[...path]` que faz proxy para o Django. Isso garante que:
|
||
- Os cookies de sessão sejam repassados corretamente
|
||
- O frontend e o backend possam rodar em portas diferentes em dev
|
||
|
||
## Próximos passos
|
||
|
||
1. Migrar página de **detalhe da solicitação**
|
||
2. Migrar formulários de **nova solicitação** (wizard)
|
||
3. Migrar **todas as solicitações**
|