# Sistema de Gestión de Pedidos de Recambios Sistema Kanban visual para gestionar pedidos de recambios desde presupuesto hasta recepción, con procesamiento automático de documentos mediante OCR y seguimiento en tiempo real del estado de cada pedido. **Arquitectura:** Backend FastAPI + Prisma ORM | Frontend HTML/CSS/JS separado ## Estructura del Proyecto ``` pedidosClientesAyutec/ ├── app/ # Backend FastAPI │ ├── main.py # Aplicación principal │ ├── config.py # Configuración │ ├── prisma_client.py # Cliente Prisma │ ├── api/ # Endpoints API │ ├── models/ # Modelos Pydantic │ └── services/ # Lógica de negocio ├── frontend/ # Frontend separado │ ├── index.html │ ├── css/ │ └── js/ ├── prisma/ # Schema Prisma │ └── schema.prisma └── requirements_prisma.txt ``` ## Instalación ### Backend 1. **Instalar dependencias:** ```bash npm install pip install -r requirements_prisma.txt ``` 2. **Configurar `.env`:** ```env DATABASE_URL=postgresql://usuario:password@localhost:5432/pedidos_clientes OPENAI_API_KEY=tu-api-key ``` 3. **Generar cliente Prisma:** ```bash prisma generate ``` 4. **Crear migraciones:** ```bash prisma migrate dev --name init ``` 5. **Ejecutar backend:** ```bash python run.py # O uvicorn app.main:app --reload ``` Backend disponible en: http://localhost:8000 API Docs: http://localhost:8000/docs ### Frontend 1. **Configurar API URL en `frontend/js/config.js`:** ```javascript const API_CONFIG = { BASE_URL: 'http://localhost:8000/api', }; ``` 2. **Ejecutar servidor HTTP:** ```bash cd frontend python -m http.server 3000 ``` Frontend disponible en: http://localhost:3000 ## Características - ✅ **Vista Kanban**: Visualización de pedidos por estados - ✅ **Procesamiento OCR**: Extracción automática de datos con GPT-4 Vision - ✅ **Gestión de Stock**: Marcado manual de referencias en stock - ✅ **Pedidos a Proveedor**: Creación manual y automática - ✅ **Vista por Proveedor**: Referencias pendientes por proveedor - ✅ **Gestión de Devoluciones**: Registro y seguimiento - ✅ **Alertas**: Notificaciones para pedidos urgentes - ✅ **Upload Móvil**: Interfaz para subir albaranes ## API Endpoints - `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 ## Desarrollo ### Backend ```bash # Ver logs uvicorn app.main:app --reload --log-level debug # Prisma Studio (GUI para BD) prisma studio ``` ### Frontend ```bash # Servidor de desarrollo cd frontend python -m http.server 3000 ``` ## Producción ### Backend - Usar Gunicorn o similar - Configurar Nginx como reverse proxy - Configurar CORS para dominios específicos - Variables de entorno seguras ### Frontend - Servir con Nginx - O usar un CDN - Configurar CORS en backend ## Documentación - `README_PRISMA.md` - Documentación de Prisma - `MIGRATION_GUIDE.md` - Guía de migración - `frontend/README.md` - Documentación del frontend