Ir al contenido

Documentación de desarrollador

Esta sección está dirigida al equipo de desarrollo y a nuevas incorporaciones que necesiten entender la arquitectura, el modelo de datos, la API y los flujos de trabajo del ERP Serconsa.

Serconsa es un ERP web para una constructora. Está desacoplado en tres capas:

  • Frontend: SPA en React 19 con TypeScript.
  • Backend: API REST con FastAPI, SQLAlchemy 2.0 async, Pydantic v2 y Alembic.
  • Base de datos: PostgreSQL 16.
  • Infraestructura: Docker Compose en desarrollo, GitLab CI/CD en producción.
Capa Tecnología Versión aproximada
Frontend React 19
UI Ant Design 5 + ProComponents 5.24+ / 2.8+
Estado global Zustand 5
Data fetching TanStack Query 5
Formularios react-hook-form + zod 7.54 / 3.24
Router React Router 7
Build Vite 6
Tests frontend Vitest + Testing Library 4 / 16
Backend FastAPI 0.115+
ORM SQLAlchemy async 2.0+
Migraciones Alembic 1.14+
Base de datos PostgreSQL 16
Caché / sesiones Redis 7
Contenedores Docker + Docker Compose —
CI/CD GitLab CI/CD —
  1. Estructura del repositorio: carpetas frontend/, backend/, docs/ y archivos raíz.
  2. Modelos de datos: tablas principales, campos y relaciones.
  3. Motor de cálculo: reglas de Presto (partidas, subtotales, porcentajes, redondeos).
  4. API: endpoints principales, métodos, parámetros y ejemplos.
  5. Migraciones Alembic: cómo crear, aplicar y resolver cabezas.
  6. Flujo git: ramas, cherry-pick, despliegue en dev y prod.
  7. Testing: pytest (backend) y vitest (frontend).
  8. Seguridad: IDOR, ownership, auditoría y dependencias.
  9. Despliegue: Docker Compose, entornos dev/prod.
  10. Guía de contribución: convenciones de código (AGENTS.md).
Entorno URL Servidor
Desarrollo https://serconsa.ovlicuo.com Máquina local
Producción https://serconsa.dlmapp.net 146.59.171.101

serconsa.ovlicuo.com es desarrollo. Nunca confundir con producción.

Las referencias a archivos se escriben como ruta:linea. Ejemplo: backend/app/models/budget.py:12.


Siguiente: Estructura del repositorio