Files
Autoparts-DB/docs/INSTALLATION.md
consultoria-as f395d67136 Initial commit: Sistema Autoparts DB
- Base de datos SQLite con información de vehículos
- Dashboard web con Flask y Bootstrap
- Scripts de web scraping para RockAuto
- Interfaz CLI para consultas
- Documentación completa del proyecto

Incluye:
- 12 marcas de vehículos
- 10,923 modelos
- 10,919 especificaciones de motores
- 12,075 combinaciones modelo-año-motor
2026-01-19 08:45:03 +00:00

327 lines
5.2 KiB
Markdown

# Guía de Instalación - Autoparts DB
## Requisitos del Sistema
### Software Requerido
| Software | Versión Mínima | Propósito |
|----------|----------------|-----------|
| Python | 3.8+ | Lenguaje principal |
| pip | 20.0+ | Gestor de paquetes |
| Git | 2.0+ | Control de versiones |
### Sistema Operativo
El proyecto es compatible con:
- Linux (Ubuntu, Debian, CentOS, etc.)
- macOS
- Windows 10/11
### Espacio en Disco
- Mínimo: 50 MB
- Recomendado: 100 MB (para crecimiento de la base de datos)
---
## Instalación Rápida
```bash
# 1. Clonar el repositorio
git clone https://git.consultoria-as.com/[usuario]/Autoparts-DB.git
# 2. Entrar al directorio
cd Autoparts-DB
# 3. Instalar dependencias
pip install -r requirements.txt
# 4. Iniciar el dashboard
cd dashboard
python3 server.py
```
---
## Instalación Detallada
### Paso 1: Clonar el Repositorio
```bash
git clone https://git.consultoria-as.com/[usuario]/Autoparts-DB.git
cd Autoparts-DB
```
### Paso 2: Crear Entorno Virtual (Recomendado)
```bash
# Crear entorno virtual
python3 -m venv venv
# Activar entorno virtual
# Linux/macOS:
source venv/bin/activate
# Windows:
venv\Scripts\activate
```
### Paso 3: Instalar Dependencias
```bash
# Instalar todas las dependencias
pip install flask requests beautifulsoup4 lxml
# O usando requirements.txt
pip install -r requirements.txt
```
### Paso 4: Verificar la Base de Datos
La base de datos viene pre-poblada con datos. Para verificar:
```bash
cd vehicle_database
sqlite3 vehicle_database.db "SELECT COUNT(*) FROM brands;"
```
### Paso 5: Inicializar (Opcional)
Si necesitas reiniciar la base de datos:
```bash
cd vehicle_database
./setup.sh
```
---
## Dependencias de Python
### Archivo requirements.txt
```
flask==2.3.3
requests>=2.28.0
beautifulsoup4>=4.11.0
lxml>=4.9.0
```
### Instalación Individual
```bash
# Flask - Framework web
pip install flask
# Requests - Cliente HTTP
pip install requests
# BeautifulSoup4 - Parser HTML
pip install beautifulsoup4
# lxml - Parser XML/HTML rápido
pip install lxml
```
---
## Configuración
### Variables de Entorno (Opcional)
```bash
# Puerto del servidor (default: 5000)
export FLASK_PORT=5000
# Modo debug (solo desarrollo)
export FLASK_DEBUG=1
# Ruta de la base de datos
export DATABASE_PATH=/path/to/vehicle_database.db
```
### Configuración del Servidor
Editar `dashboard/server.py`:
```python
# Cambiar puerto
app.run(host='0.0.0.0', port=5000, debug=False)
# Para producción
app.run(host='0.0.0.0', port=8080, debug=False)
```
---
## Verificación de la Instalación
### 1. Verificar Python
```bash
python3 --version
# Debería mostrar: Python 3.8.x o superior
```
### 2. Verificar Dependencias
```bash
python3 -c "import flask; print(f'Flask: {flask.__version__}')"
python3 -c "import requests; print(f'Requests: {requests.__version__}')"
python3 -c "import bs4; print(f'BeautifulSoup: {bs4.__version__}')"
```
### 3. Verificar Base de Datos
```bash
cd vehicle_database
python3 -c "
import sqlite3
conn = sqlite3.connect('vehicle_database.db')
cursor = conn.execute('SELECT COUNT(*) FROM brands')
print(f'Marcas en BD: {cursor.fetchone()[0]}')
conn.close()
"
```
### 4. Probar el Dashboard
```bash
cd dashboard
python3 server.py &
curl http://localhost:5000/api/brands
```
---
## Solución de Problemas
### Error: ModuleNotFoundError
```bash
# Verificar que el entorno virtual está activado
which python3
# Reinstalar dependencias
pip install --force-reinstall flask requests beautifulsoup4 lxml
```
### Error: Database is locked
```bash
# Cerrar todas las conexiones a la base de datos
# Reiniciar el servidor
pkill -f server.py
python3 dashboard/server.py
```
### Error: Port already in use
```bash
# Encontrar proceso usando el puerto
lsof -i :5000
# Matar el proceso
kill -9 [PID]
# O usar otro puerto
python3 server.py --port 5001
```
### Error: Permission denied
```bash
# Dar permisos de ejecución a scripts
chmod +x vehicle_database/setup.sh
chmod +x dashboard/start_dashboard.sh
chmod +x QUICK_START.sh
```
---
## Instalación en Producción
### Usando Gunicorn (Recomendado)
```bash
# Instalar Gunicorn
pip install gunicorn
# Iniciar servidor
cd dashboard
gunicorn -w 4 -b 0.0.0.0:8080 server:app
```
### Usando systemd
Crear archivo `/etc/systemd/system/autoparts-db.service`:
```ini
[Unit]
Description=Autoparts DB Dashboard
After=network.target
[Service]
User=www-data
WorkingDirectory=/path/to/Autoparts-DB/dashboard
ExecStart=/usr/bin/python3 server.py
Restart=always
[Install]
WantedBy=multi-user.target
```
Habilitar e iniciar:
```bash
sudo systemctl enable autoparts-db
sudo systemctl start autoparts-db
```
### Usando Docker (Opcional)
```dockerfile
FROM python:3.11-slim
WORKDIR /app
COPY . /app
RUN pip install flask requests beautifulsoup4 lxml
EXPOSE 5000
CMD ["python3", "dashboard/server.py"]
```
```bash
docker build -t autoparts-db .
docker run -p 5000:5000 autoparts-db
```
---
## Actualizaciones
```bash
# Obtener últimos cambios
git pull origin main
# Actualizar dependencias
pip install --upgrade -r requirements.txt
```
---
## Desinstalación
```bash
# Desactivar entorno virtual
deactivate
# Eliminar directorio del proyecto
rm -rf Autoparts-DB
# Eliminar entorno virtual (si está separado)
rm -rf venv
```