132 lines
2.9 KiB
Markdown
132 lines
2.9 KiB
Markdown
# Manual Técnico - DuOrigin v2
|
|
|
|
## 1. Visão Geral
|
|
DuOrigin v2 é um sistema de compliance EUDR (EU Deforestation Regulation) para o agronegócio, desenvolvido com stack moderna e integração com APIs oficiais da União Europeia.
|
|
|
|
## 2. Stack Tecnológico
|
|
| Camada | Tecnologia | Versão |
|
|
|--------|------------|--------|
|
|
| Frontend | Next.js | Latest |
|
|
| Backend | NestJS | Latest |
|
|
| ORM | Prisma | 5.22.0 |
|
|
| Database | PostgreSQL | Latest |
|
|
| Auth | JWT (jose) | 5.10.0 |
|
|
| Maps | Leaflet | Latest |
|
|
| Estilização | TailwindCSS | Latest |
|
|
|
|
## 3. Estrutura do Projeto
|
|
```
|
|
duorigin-v2/
|
|
├── frontend/ # Next.js App
|
|
├── backend/ # NestJS API
|
|
│ ├── src/
|
|
│ │ ├── modules/ # Feature modules
|
|
│ │ └── main.ts
|
|
│ └── package.json
|
|
├── prisma/
|
|
│ ├── schema.prisma # Database schema
|
|
│ └── seed.ts # Data seeding
|
|
├── src/ # Shared types/utils
|
|
├── public/
|
|
├── package.json
|
|
└── docker-compose.yml
|
|
```
|
|
|
|
## 4. Funcionalidades
|
|
|
|
### 4.1 Compliance EUDR
|
|
- Declarações de due diligence
|
|
- Rastreabilidade de commodities
|
|
- Geolocalização de parcelas
|
|
- Validação de cadeia produtiva
|
|
|
|
### 4.2 Gestão de Produtores
|
|
- Cadastro de produtores rurais
|
|
- Documentação de propriedades
|
|
- Certificados e licenças
|
|
|
|
### 4.3 Geolocalização
|
|
- Mapeamento de áreas produtivas
|
|
- Integração com mapas (Leaflet)
|
|
- Validação de coordenadas GPS
|
|
|
|
### 4.4 Integração API EUDR
|
|
- Conexão com sistema da UE (SOAP/WSDL)
|
|
- Submissão de declarações
|
|
- Consulta de status
|
|
|
|
## 5. API Endpoints (NestJS)
|
|
|
|
### 5.1 Autenticação
|
|
```
|
|
POST /api/auth/login
|
|
POST /api/auth/register
|
|
GET /api/auth/me
|
|
```
|
|
|
|
### 5.2 Produtores
|
|
```
|
|
GET /api/producers
|
|
POST /api/producers
|
|
PUT /api/producers/:id
|
|
DELETE /api/producers/:id
|
|
```
|
|
|
|
### 5.3 Declarações EUDR
|
|
```
|
|
GET /api/declarations
|
|
POST /api/declarations
|
|
POST /api/declarations/:id/submit
|
|
GET /api/declarations/:id/status
|
|
```
|
|
|
|
### 5.4 Geolocalização
|
|
```
|
|
POST /api/geo/validate
|
|
GET /api/geo/parcels/:producerId
|
|
```
|
|
|
|
## 6. Database Schema (Prisma)
|
|
|
|
### Principais Modelos
|
|
- User (Usuários do sistema)
|
|
- Producer (Produtores rurais)
|
|
- Declaration (Declarações EUDR)
|
|
- Parcel (Parcelas georreferenciadas)
|
|
- Commodity (Commodities rastreadas)
|
|
|
|
## 7. Requisitos de Sistema
|
|
|
|
- Node.js >= 18.x
|
|
- PostgreSQL >= 14
|
|
- npm >= 9.x
|
|
|
|
## 8. Instalação
|
|
|
|
```bash
|
|
# Instalar dependências
|
|
npm install
|
|
cd backend && npm install
|
|
|
|
# Configurar banco
|
|
cp .env.example .env
|
|
npm run db:generate
|
|
npm run db:push
|
|
npm run db:seed
|
|
|
|
# Iniciar desenvolvimento
|
|
npm run dev # Frontend
|
|
cd backend && npm run start:dev # Backend
|
|
```
|
|
|
|
## 9. Variáveis de Ambiente
|
|
```env
|
|
DATABASE_URL=postgresql://user:pass@localhost:5432/duorigin
|
|
JWT_SECRET=your-secret-key
|
|
EUDR_API_URL=https://api.eudr.eu
|
|
EUDR_API_KEY=xxx
|
|
```
|
|
|
|
---
|
|
*Documento gerado em 2026-02-09*
|