2.9 KiB
2.9 KiB
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
# 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
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