docs: Add technical manual, sales manual, and architecture diagram
This commit is contained in:
131
docs/Manual-Tecnico.md
Normal file
131
docs/Manual-Tecnico.md
Normal file
@@ -0,0 +1,131 @@
|
||||
# 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*
|
||||
Reference in New Issue
Block a user