Files
pedidosClientes/README_PRISMA.md
2025-12-05 11:27:16 -03:00

107 lines
2.2 KiB
Markdown

# Sistema de Gestión de Pedidos - FastAPI + Prisma
## Instalación
### 1. Instalar dependencias Node.js (para Prisma CLI)
```bash
npm install
```
### 2. Instalar dependencias Python
```bash
pip install -r requirements_prisma.txt
```
### 3. Configurar base de datos
Editar `.env`:
```env
DATABASE_URL="postgresql://usuario:password@localhost:5432/pedidos_clientes"
OPENAI_API_KEY="tu-api-key"
```
### 4. Generar cliente Prisma
```bash
npm run prisma:generate
# O
prisma generate
```
### 5. Crear y aplicar migraciones
```bash
npm run prisma:migrate
# O
prisma migrate dev --name init
```
### 6. Ejecutar aplicación
```bash
python run.py
# O
uvicorn app.main:app --reload
```
## Estructura del Proyecto
```
app/
├── __init__.py
├── main.py # Aplicación FastAPI principal
├── config.py # Configuración
├── prisma_client.py # Cliente Prisma
├── models/ # Modelos Pydantic
│ ├── cliente.py
│ ├── pedido_cliente.py
│ ├── proveedor.py
│ └── ...
├── api/ # Endpoints FastAPI
│ ├── routes/
│ │ ├── clientes.py
│ │ ├── pedidos_cliente.py
│ │ └── ...
│ └── dependencies.py
└── services/ # Lógica de negocio
├── ocr_service.py
└── albaran_processor.py
prisma/
└── schema.prisma # Schema de base de datos
```
## Endpoints API
- `GET /api/clientes` - Listar clientes
- `GET /api/pedidos-cliente` - Listar pedidos
- `GET /api/kanban` - Datos del Kanban
- `GET /api/alertas` - Alertas de pedidos urgentes
- `POST /api/albaranes/upload` - Subir albarán
- `GET /docs` - Documentación Swagger
## Comandos Útiles
```bash
# Generar cliente Prisma
prisma generate
# Crear migración
prisma migrate dev --name nombre_migracion
# Aplicar migraciones
prisma migrate deploy
# Abrir Prisma Studio (GUI para BD)
prisma studio
# Ver estado de migraciones
prisma migrate status
```
## Ventajas de Prisma
- ✅ Type-safe queries
- ✅ Migraciones automáticas
- ✅ Mejor performance
- ✅ Schema como código
- ✅ Prisma Studio (GUI para BD)
- ✅ Validación automática de tipos