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
- Instalar dependencias:
npm install
pip install -r requirements_prisma.txt
- Configurar
.env:
DATABASE_URL=postgresql://usuario:password@localhost:5432/pedidos_clientes
OPENAI_API_KEY=tu-api-key
- Generar cliente Prisma:
prisma generate
- Crear migraciones:
prisma migrate dev --name init
- Ejecutar backend:
python run.py
# O
uvicorn app.main:app --reload
Backend disponible en: http://localhost:8000 API Docs: http://localhost:8000/docs
Frontend
- Configurar API URL en
frontend/js/config.js:
const API_CONFIG = {
BASE_URL: 'http://localhost:8000/api',
};
- Ejecutar servidor HTTP:
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 clientesGET /api/pedidos-cliente- Listar pedidosGET /api/kanban- Datos del KanbanGET /api/alertas- Alertas de pedidos urgentesPOST /api/albaranes/upload- Subir albaránGET /docs- Documentación Swagger
Desarrollo
Backend
# Ver logs
uvicorn app.main:app --reload --log-level debug
# Prisma Studio (GUI para BD)
prisma studio
Frontend
# 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 PrismaMIGRATION_GUIDE.md- Guía de migraciónfrontend/README.md- Documentación del frontend
Description
Languages
Python
64.4%
HTML
20.1%
JavaScript
9.7%
CSS
4.2%
Batchfile
1.2%
Other
0.4%