Volver al bento
Full Stack Enterprise Decoupled Architecture

Appointment Management API

Sistema robusto de agendamiento y gestión de citas clínicas. Diseñado mediante un backend corporativo con validación estricta de esquemas relacionales y un cliente SPA modular de alto rendimiento.


Topología de la Arquitectura

Presentation Layer

React 18 + Vite

SPA Tipada con TypeScript, Axios para consumo HTTP y Tailwind CSS.

RESTful
Core Logic

ASP.NET Core 8

Validación a nivel de modelo, inyección de dependencias y ruteo asíncrono.

Data Storage

PostgreSQL + EF Core

Mapeo Objeto-Relacional (ORM) automatizado mediante migraciones estrictas.

Matriz de Endpoints (REST API)

Controlador base: /api/appointments Swagger UI Compliant
Método Ruta del Endpoint Operación / Impacto
GET /api/appointments Listado completo con paginación integrada.
GET /api/appointments/id Búsqueda atómica por ID único en base relacional.
POST /api/appointments Creación e inserción con validación asíncrona.
PUT /api/appointments/id Mutación completa de datos de la cita y estados.
DELETE /api/appointments/id Remoción física del registro mediante Entity Framework.

Contrato de Datos (Esquema JSON)

Garantía de integridad de ciclo de vida para los estados transaccionales permitidos (pendiente, confirmada, cancelada).

// HTTP POST Body
{
  "clientName": "John Doe",
  "date": "2024-12-01T10:00:00",
  "status": "pendiente"
}
// HTTP 201 Created Response
{
  "id": 1,
  "clientName": "John Doe",
  "date": "2024-12-01T10:00:00",
  "status": "pendiente",
  "createdAt": "2024-10-03..."
}

Estrategia de Desarrollo & Control de Calidad

Validación Dual (Client & Server Side)

La consistencia de los datos está blindada perimetralmente. El frontend intercepta cadenas vacías o fechas inválidas antes de consumir red, mientras que el backend ejecuta filtros estrictos mediante Data Annotations nativas de C#, evitando corrupciones o payloads maliciosos directo en la base PostgreSQL.

Eficiencia en Volumen: Paginación Nativa

En lugar de saturar la memoria RAM del cliente transmitiendo cientos de registros simultáneos, el controlador expone parámetros numéricos de paginación que segmentan la respuesta a nivel de base de datos gracias a las directivas de filtrado diferido en LINQ / Entity Framework Core.