# SIG-CM 2.0 Sistema de gestión comercial — 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`.