# Guía de Instalación - Sistema de Gestión de Pedidos ## Requisitos Previos - Python 3.8 o superior - PostgreSQL 12 o superior - pip (gestor de paquetes de Python) - Git (opcional) ## Paso 1: Clonar/Descargar el Proyecto Si tienes el proyecto en un repositorio Git: ```bash git clone cd pedidosClientesAyutec ``` ## Paso 2: Crear Entorno Virtual **Windows:** ```bash python -m venv venv venv\Scripts\activate ``` **Linux/Mac:** ```bash python3 -m venv venv source venv/bin/activate ``` ## Paso 3: Instalar Dependencias ```bash pip install -r requirements.txt ``` ## Paso 4: Configurar Base de Datos PostgreSQL 1. Instalar PostgreSQL si no lo tienes instalado 2. Crear una base de datos: ```sql CREATE DATABASE pedidos_clientes; CREATE USER pedidos_user WITH PASSWORD 'tu_password'; GRANT ALL PRIVILEGES ON DATABASE pedidos_clientes TO pedidos_user; ``` O usar Docker: ```bash docker-compose up -d db ``` ## Paso 5: Configurar Variables de Entorno 1. Copiar el archivo de ejemplo: ```bash cp .env.example .env ``` 2. Editar `.env` con tus credenciales: ```env SECRET_KEY=tu-secret-key-generado DB_NAME=pedidos_clientes DB_USER=postgres DB_PASSWORD=tu-password DB_HOST=localhost DB_PORT=5432 OPENAI_API_KEY=tu-openai-api-key ``` Para generar un SECRET_KEY: ```bash python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())" ``` ## Paso 6: Ejecutar Migraciones ```bash python manage.py makemigrations python manage.py migrate ``` ## Paso 7: Crear Superusuario ```bash python manage.py createsuperuser ``` Sigue las instrucciones para crear un usuario administrador. ## Paso 8: Recopilar Archivos Estáticos (Opcional) ```bash python manage.py collectstatic --noinput ``` ## Paso 9: Iniciar el Servidor ```bash python manage.py runserver ``` El servidor estará disponible en: http://127.0.0.1:8000 ## Paso 10: Iniciar File Watcher (Opcional) En una terminal separada, para procesar automáticamente PDFs y albaranes: ```bash python manage.py start_file_watcher ``` ## Verificación 1. Accede a http://127.0.0.1:8000/admin/ y inicia sesión 2. Accede a http://127.0.0.1:8000/api/kanban/ para ver el Kanban 3. Verifica que las carpetas se hayan creado: - `pedidos_clientes_pdf/` - `albaranes_escaneados/` - `emails_proveedores/` ## Solución de Problemas ### Error de conexión a PostgreSQL - Verifica que PostgreSQL esté corriendo - Verifica las credenciales en `.env` - Verifica que la base de datos exista ### Error de módulos faltantes ```bash pip install -r requirements.txt --upgrade ``` ### Error de migraciones ```bash python manage.py makemigrations --empty gestion_pedidos python manage.py migrate ``` ### Error de permisos en carpetas Asegúrate de que el usuario tenga permisos de escritura en las carpetas del proyecto. ## Producción Para producción, considera: - Usar un servidor WSGI como Gunicorn - Configurar Nginx como proxy reverso - Usar variables de entorno seguras - Configurar HTTPS - Configurar backups de base de datos - Configurar logs rotativos