Initial commit

This commit is contained in:
2025-12-05 11:27:16 -03:00
commit 804bacfbe3
87 changed files with 7260 additions and 0 deletions

135
README.md Normal file
View File

@@ -0,0 +1,135 @@
# 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