Skip to main content

Arquitectura del sistema

El sistema sigue una arquitectura de tres capas separando claramente la presentación, lógica de negocio y persistencia de datos.

Componentes principales

Frontend - Angular

  • Framework: Angular 20.3.0
  • UI: Angular Material 20.2.11
  • Cliente HTTP: Axios 1.13.2
  • Estado: RxJS 7.8.0
  • Lenguaje: TypeScript 5.9.2

Backend - Django

  • Framework: Django 6.0.2
  • API REST: Django REST Framework 3.16.1
  • Autenticación: JWT (djangorestframework_simplejwt 5.5.1)
  • Auditoría: django-simple-history 3.11.0
  • CORS: django-cors-headers 4.9.0

Base de datos - PostgreSQL

  • Tablas principales de inventario
  • Tablas de catálogos (ubicaciones, estados, etc.)
  • Tablas de auditoría generadas por django-simple-history
  • Tabla de usuarios personalizada

Flujo de datos

1

Usuario interactúa con Angular

El usuario realiza acciones en la interfaz web
2

Angular hace petición HTTP

La aplicación envía petición REST con token JWT
3

Django valida autenticación

El backend valida el token y permisos del usuario
4

Django ejecuta lógica de negocio

Se procesa la petición aplicando reglas de negocio
5

PostgreSQL persiste datos

Los cambios se guardan en la base de datos
6

django-simple-history registra

Se crea registro automático en tablas de auditoría
7

Respuesta al cliente

Django devuelve JSON con el resultado

Seguridad

  • Autenticación: JWT con refresh tokens
  • Autorización: RBAC con 4 roles
  • HTTPS: En producción
  • CORS: Configurado para dominios permitidos
  • Validación: En frontend y backend

Escalabilidad

  • Horizontal: Múltiples instancias de Django con Gunicorn
  • Caché: Redis (opcional)
  • CDN: Para archivos estáticos del frontend
  • Balanceador: Nginx o similar

Recursos

Backend

Arquitectura del backend Django

Frontend

Arquitectura del frontend Angular

Base de datos

Esquema de la base de datos

Build docs developers (and LLMs) love