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

3.2 KiB

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:
npm install
pip install -r requirements_prisma.txt
  1. Configurar .env:
DATABASE_URL=postgresql://usuario:password@localhost:5432/pedidos_clientes
OPENAI_API_KEY=tu-api-key
  1. Generar cliente Prisma:
prisma generate
  1. Crear migraciones:
prisma migrate dev --name init
  1. Ejecutar backend:
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:
const API_CONFIG = {
    BASE_URL: 'http://localhost:8000/api',
};
  1. 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 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

# 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 Prisma
  • MIGRATION_GUIDE.md - Guía de migración
  • frontend/README.md - Documentación del frontend