From ddc7c8d53d21ea12d922e30637ab8ecb09dbaedd Mon Sep 17 00:00:00 2001 From: dmolinari Date: Wed, 15 Apr 2026 11:27:20 -0300 Subject: [PATCH] docs: add minimal README with stack, structure, run instructions --- README.md | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..b30e26d --- /dev/null +++ b/README.md @@ -0,0 +1,99 @@ +# SIG-CM 2.0 + +Sistema de gestión de clasificados y notables — migración del sistema legacy (VB6) a una plataforma web moderna. + +## Stack + +- **Backend**: .NET 10 · C# 13 · ASP.NET Core · Clean Architecture · Dapper 2.x · SQL Server 2022 · JWT RS256 · Serilog · FluentValidation · xUnit + NSubstitute +- **Frontend**: React 19 · TypeScript 5 strict · Vite 6 · Tailwind 4 · Zustand · React Router 7 · TanStack Query · Axios · Vitest + RTL +- **Infra**: Docker · Gitea Actions · Obsidian (documentación interna) + +## Estructura + +``` +src/api/ # Backend .NET (Clean Architecture) + SIGCM2.Api/ controllers, filters, Program.cs + SIGCM2.Application/ commands, handlers, validators, abstractions + SIGCM2.Domain/ entities, exceptions, domain security + SIGCM2.Infrastructure/ persistence (Dapper), security, DI + +src/web/ # Frontend React 19 (Vite + TS strict) + src/features/ feature modules (auth, users, …) + src/components/ shared UI + layout + src/tests/ Vitest suites + +database/ + migrations/ .sql con orden Vxxx + seeds/ datos iniciales + schemas/ definiciones auxiliares + +tests/ + SIGCM2.Api.Tests/ integration (TestWebAppFactory + SQL Server) + SIGCM2.Application.Tests/ unit (handlers, validators) + SIGCM2.TestSupport/ fixtures compartidas + +Obsidian/ # Source of truth funcional (IGNORADO por git) + STATUS.md roadmap y estado de UDTs + INSTRUCCIONES_IA.md SOP del agente de IA + 02-ARQUITECTURA.../ specs por módulo +``` + +## Cómo correr + +### Requisitos +- .NET 10 SDK +- Node 20+ +- SQL Server 2022 (local o remoto) + +### Backend + +```bash +cd src/api/SIGCM2.Api +dotnet run +``` + +Config en `appsettings.json` (DB: `SIGCM2`, usuario `desarrollo`, server `TECNICA3`). Para tests de integración se usa `SIGCM2_Test`. + +### Frontend + +```bash +cd src/web +npm install +npm run dev +``` + +### Tests + +```bash +# Backend +dotnet test tests/SIGCM2.Application.Tests # unit +dotnet test tests/SIGCM2.Api.Tests # integration (requiere SIGCM2_Test) + +# Frontend +cd src/web && npx vitest run +``` + +## Convenciones + +- Ramas: `feature/UDT-XXX` desde `main`. +- Commits: `tipo(módulo): descripción` — `feat`, `fix`, `docs`, `refactor`, `test`, `chore`, `security`. +- Orden de trabajo por UDT: **BD → Backend → Frontend**. +- Desarrollo guiado por Spec-Driven Development (SDD) + Strict TDD. +- Follow-ups / deuda técnica se registran como issues de Gitea con label `followup`. + +## Estado del roadmap + +Ver `Obsidian/STATUS.md`. Módulo Auth (Fase 0) en curso: + +- [x] UDT-001 Login +- [x] UDT-002 Logout + Refresh Token +- [x] UDT-003 Registro de Usuarios +- [ ] UDT-004 Gestión de Roles +- [ ] UDT-005 Gestión de Permisos (RBAC) +- [ ] UDT-006 Middleware de Autorización + +Fases siguientes: Maestros fundacionales (ADM/CAT) · Catálogo de Productos (PRD) · Motor de Precios (PRC) · Ventas (VTA) · Facturación (FAC) · Integraciones externas (INT). + +## Licencia + +Propietario — uso interno. -- 2.49.1