Initial commit
This commit is contained in:
152
INSTALL.md
Normal file
152
INSTALL.md
Normal file
@@ -0,0 +1,152 @@
|
||||
# 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
|
||||
|
||||
Reference in New Issue
Block a user