Files
Autoparts-DB/docs/INSTALLATION.md
consultoria-as 7b2a904498 feat: migrate to PostgreSQL + SQLAlchemy ORM, rebrand to Nexus Autoparts
- Migrate from SQLite to PostgreSQL with normalized schema
- Add 11 lookup tables (fuel_type, body_type, drivetrain, transmission,
  materials, position_part, manufacture_type, quality_tier, countries,
  reference_type, shapes)
- Rewrite dashboard/server.py (76 routes) using SQLAlchemy text() queries
- Rewrite console/db.py (27 methods) using SQLAlchemy ORM
- Add models.py with 27 SQLAlchemy model definitions
- Add config.py for centralized DB_URL configuration
- Add migrate_to_postgres.py migration script
- Add docs/METABASE_GUIDE.md with complete data entry guide
- Rebrand from "AUTOPARTS DB" to "NEXUS AUTOPARTS"
- Fill vehicle data gaps via NHTSA API + heuristics:
  engines (cylinders, power, torque), brands (country, founded_year),
  models (body_type, production years), MYE (drivetrain, transmission, trim)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 05:24:47 +00:00

5.2 KiB

Guía de Instalación - Nexus Autoparts

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

# 1. Clonar el repositorio
git clone https://git.consultoria-as.com/[usuario]/Nexus-Autoparts.git

# 2. Entrar al directorio
cd Nexus-Autoparts

# 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

git clone https://git.consultoria-as.com/[usuario]/Nexus-Autoparts.git
cd Nexus-Autoparts

Paso 2: Crear Entorno Virtual (Recomendado)

# Crear entorno virtual
python3 -m venv venv

# Activar entorno virtual
# Linux/macOS:
source venv/bin/activate

# Windows:
venv\Scripts\activate

Paso 3: Instalar Dependencias

# 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:

cd vehicle_database
sqlite3 vehicle_database.db "SELECT COUNT(*) FROM brands;"

Paso 5: Inicializar (Opcional)

Si necesitas reiniciar la base de datos:

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

# 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)

# 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:

# 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

python3 --version
# Debería mostrar: Python 3.8.x o superior

2. Verificar Dependencias

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

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

cd dashboard
python3 server.py &
curl http://localhost:5000/api/brands

Solución de Problemas

Error: ModuleNotFoundError

# Verificar que el entorno virtual está activado
which python3

# Reinstalar dependencias
pip install --force-reinstall flask requests beautifulsoup4 lxml

Error: Database is locked

# 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

# 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

# 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)

# 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/nexus-autoparts.service:

[Unit]
Description=Nexus Autoparts Dashboard
After=network.target

[Service]
User=www-data
WorkingDirectory=/path/to/Nexus-Autoparts/dashboard
ExecStart=/usr/bin/python3 server.py
Restart=always

[Install]
WantedBy=multi-user.target

Habilitar e iniciar:

sudo systemctl enable nexus-autoparts
sudo systemctl start nexus-autoparts

Usando Docker (Opcional)

FROM python:3.11-slim

WORKDIR /app
COPY . /app

RUN pip install flask requests beautifulsoup4 lxml

EXPOSE 5000

CMD ["python3", "dashboard/server.py"]
docker build -t nexus-autoparts .
docker run -p 5000:5000 nexus-autoparts

Actualizaciones

# Obtener últimos cambios
git pull origin main

# Actualizar dependencias
pip install --upgrade -r requirements.txt

Desinstalación

# Desactivar entorno virtual
deactivate

# Eliminar directorio del proyecto
rm -rf Nexus-Autoparts

# Eliminar entorno virtual (si está separado)
rm -rf venv