Documentación de desarrollador
Documentación de desarrollador de Serconsa
Sección titulada «Documentación de desarrollador de Serconsa»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.
Qué es Serconsa
Sección titulada «Qué es 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.
Stack tecnológico
Sección titulada «Stack tecnológico»| 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 | — |
Cómo está organizada esta documentación
Sección titulada «Cómo está organizada esta documentación»- Estructura del repositorio: carpetas
frontend/,backend/,docs/y archivos raíz. - Modelos de datos: tablas principales, campos y relaciones.
- Motor de cálculo: reglas de Presto (partidas, subtotales, porcentajes, redondeos).
- API: endpoints principales, métodos, parámetros y ejemplos.
- Migraciones Alembic: cómo crear, aplicar y resolver cabezas.
- Flujo git: ramas, cherry-pick, despliegue en dev y prod.
- Testing: pytest (backend) y vitest (frontend).
- Seguridad: IDOR, ownership, auditoría y dependencias.
- Despliegue: Docker Compose, entornos dev/prod.
- Guía de contribución: convenciones de código (
AGENTS.md).
Entornos
Sección titulada «Entornos»| Entorno | URL | Servidor |
|---|---|---|
| Desarrollo | https://serconsa.ovlicuo.com |
Máquina local |
| Producción | https://serconsa.dlmapp.net |
146.59.171.101 |
serconsa.ovlicuo.comes desarrollo. Nunca confundir con producción.
Convenciones de rutas en esta guía
Sección titulada «Convenciones de rutas en esta guía»Las referencias a archivos se escriben como ruta:linea. Ejemplo: backend/app/models/budget.py:12.
Siguiente: Estructura del repositorio