153 lines
3.0 KiB
Markdown
153 lines
3.0 KiB
Markdown
# 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 <url-del-repositorio>
|
|
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
|
|
|