Skip to main content

Requisitos previos

Antes de comenzar, asegúrese de tener instalado:
  • Python 3.9 o superior
  • Node.js 18 o superior y npm
  • PostgreSQL 12 o superior
  • Git

Paso 1: Clonar el repositorio

Clone el repositorio del proyecto:
git clone https://github.com/jaroth-trebol/app_web_activos-.git
cd app_web_activos-

Paso 2: Configurar el backend

Instalar dependencias de Python

Cree un entorno virtual e instale las dependencias:
cd backend
python -m venv venv
source venv/bin/activate  # En Windows: venv\Scripts\activate
pip install -r requirements.txt
El archivo requirements.txt incluye:
  • Django 6.0.2
  • djangorestframework 3.16.1
  • djangorestframework_simplejwt 5.5.1
  • django-simple-history 3.11.0
  • psycopg2-binary 2.9.11
  • django-cors-headers 4.9.0
  • reportlab 4.4.10
  • openpyxl 3.1.5
  • gunicorn 25.1.0

Configurar la base de datos

Cree una base de datos PostgreSQL:
psql -U postgres
CREATE DATABASE activos_trebol;
CREATE USER activos_user WITH PASSWORD 'tu_contraseña';
GRANT ALL PRIVILEGES ON DATABASE activos_trebol TO activos_user;
\q
Configure las credenciales en backend/settings.py:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'activos_trebol',
        'USER': 'activos_user',
        'PASSWORD': 'tu_contraseña',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

Ejecutar migraciones

Aplique las migraciones para crear las tablas en la base de datos:
python manage.py migrate
El comando migrate crea todas las tablas necesarias, incluyendo las tablas de auditoría generadas por django-simple-history.

Crear un superusuario

Cree una cuenta de administrador:
python manage.py createsuperuser
Siga las instrucciones e ingrese: El superusuario se crea automáticamente con rol sys_admin y todos los permisos.

Iniciar el servidor de desarrollo

Inicie el servidor Django:
python manage.py runserver
El backend estará disponible en http://localhost:8000

Paso 3: Autenticarse con JWT

Obtenga tokens de acceso mediante el endpoint de autenticación:
curl -X POST http://localhost:8000/api/token/ \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "password": "tu_contraseña"
  }'
{
  "access": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzEwMzQ1Njc4LCJpYXQiOjE3MTAzNDIwNzgsImp0aSI6ImFiYzEyMyIsInVzZXJfaWQiOjF9.signature",
  "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTcxMDQyODQ3OCwiaWF0IjoxNzEwMzQyMDc4LCJqdGkiOiJkZWY0NTYiLCJ1c2VyX2lkIjoxfQ.signature",
  "user": {
    "id": 1,
    "email": "[email protected]",
    "nombre": "",
    "rol": "sys_admin"
  }
}
El campo access es el token que debe incluir en las peticiones subsecuentes.

Paso 4: Crear su primer activo

Cree un activo usando el endpoint de inventario:
curl -X POST http://localhost:8000/api/inventario/ \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "codigo": 1001,
    "placa_de_activo": "ACT-001",
    "descripcion_completa_articulo": "Escritorio ejecutivo de madera",
    "id_ubicacion": 1,
    "id_estado": 1,
    "id_clasificacion": 1,
    "avaluo": 500000,
    "observaciones": "En buen estado"
  }'
Antes de crear activos, debe crear los catálogos base (ubicaciones, estados, clasificaciones) accediendo al admin de Django en http://localhost:8000/admin/

Paso 5: Consultar activos

Listar todos los activos:
curl -X GET http://localhost:8000/api/inventario/ \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Aplicar filtros

Puede filtrar activos por múltiples criterios:
# Por ubicación
curl -X GET "http://localhost:8000/api/inventario/?id_ubicacion=1" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

# Por estado
curl -X GET "http://localhost:8000/api/inventario/?id_estado=2" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

# Búsqueda por placa
curl -X GET "http://localhost:8000/api/inventario/?placa=ACT-001" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Vea todos los filtros disponibles en Listar inventario.

Paso 6: Consultar historial de cambios

Vea el historial completo de un activo:
curl -X GET http://localhost:8000/api/historial/ACT-001/ \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Esto devuelve todos los cambios realizados al activo con placa ACT-001, incluyendo quién hizo el cambio, cuándo y qué campos se modificaron.

Paso 7: Configurar el frontend (opcional)

El frontend es opcional. Puede usar el sistema completamente mediante la API REST.
Si desea usar la interfaz gráfica:
cd ../frontend
npm install
ng serve
La aplicación estará disponible en http://localhost:4200

Configurar la URL del backend

En frontend/src/environments/environment.ts, configure la URL del backend:
export const environment = {
  production: false,
  apiUrl: 'http://localhost:8000/api'
};

Próximos pasos

Gestión de usuarios

Configure roles y permisos para su equipo

Generar reportes

Cree informes PDF y Excel personalizados

Carga masiva

Importe activos desde archivos Excel

Referencia API

Explore todos los endpoints disponibles

Build docs developers (and LLMs) love