phronCare/README.md
Leandro Hernan Rojas 263e5e4de8
All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (pull_request) Successful in 3m58s
Actualizacion de Readme.md
2026-03-26 22:01:06 +00:00

141 lines
2.8 KiB
Markdown

# PhronCare
## 📌 Descripción
PhronCare es una plataforma back-office desarrollada en .NET 8 para la gestión de operaciones en ortopedia y logística médica.
Incluye módulos principales como:
- Presupuestos (Quotes)
- Expediciones (Expeditions)
- Stock médico con trazabilidad GS1
- Generación de documentos (PDF / Excel)
---
## 🧱 Arquitectura
El sistema sigue una arquitectura estricta por capas:
Data → Domain → Core → API → UI (Blazor)
Reglas clave:
- NO modificar modelos EF generados por scaffold (Models/Data)
- La lógica de negocio vive en Domain/Core
- Las entidades de dominio (E*) replican estructura de DB
- Core orquesta casos de uso y transacciones
---
## 📦 Estructura del proyecto
/src
├── 1.1 Data → EF Models + Repositories
├── 1.2 Domain → Entidades E*, contratos, enums
├── 1.3 Core → Servicios de negocio
├── API → Controllers / Endpoints
├── UIBlazor → Frontend Blazor
├── Documents → Templates PDF / Excel
---
## ⚙️ Requisitos
- .NET 8 SDK
- SQL Server
- Docker (opcional)
- Node.js (solo si se utiliza en contenedor o build específico)
---
## 🚀 Ejecución local
1. Configurar `appsettings.json` con la conexión a base de datos
2. Verificar que la base de datos esté disponible
3. Ejecutar la API:
dotnet run (en proyecto API)
4. Ejecutar la UI Blazor:
dotnet run (en proyecto UIBlazor)
Opcional:
- Ejecutar con Docker Compose si está configurado
---
## 🔌 Endpoints principales
- /api/quotes
- /api/expeditions
- /api/stock
- /api/lsstockscan
Swagger disponible en:
- /swagger
---
## 📄 Generación de documentos
El sistema soporta generación de:
- PDF (Quotes, Expeditions, Delivery Notes)
- Excel (exportaciones)
Implementación basada en:
- DocumentTemplateService
- Templates Razor
- PuppeteerSharp
---
## 🧠 Convenciones del proyecto
- Tablas: PascalCase
- Campos: snake_case
- Foreign Keys: *_id
Prefijos por módulo:
- PhS_ → Sales
- PhLSM_ → Logística y Stock Médico
- PhOH_ → Operations Hub
Otros:
- Entidades Domain: prefijo E (EQuoteHeader, etc.)
- DTOs separados de entidades
- No usar AutoMapper (usar EntityMapper)
---
## 🔄 Flujo de desarrollo
- API-First
- Stories pequeñas y atómicas
- Branching:
- feature/{issue}-{desc}
- fix/{issue}-{desc}
Commits:
- Conventional Commits
- Uso de “Closes #issue” en PR
---
## 📋 Stories y documentación
Las stories del proyecto siguen una plantilla estándar ubicada en:
/docs/story-template.md
Incluye:
- Objetivo
- Contexto
- Alcance
- Criterios de aceptación
- Decisiones de diseño
---
## ⚠️ Notas importantes
- No romper contratos existentes de la API
- Mantener consistencia con módulos existentes
- Priorizar claridad sobre complejidad