Saltar al contenido principal

Arquitectura General

Visión General

Week3-CrudCloud implementa una arquitectura cliente-servidor con separación clara de responsabilidades.

Componentes Principales

Frontend (React)

  • Capa de Presentación: Componentes React para UI/UX
  • Capa de Servicios: Módulos para comunicación con API
  • Gestión de Estado: Context API / Redux para estado global
  • Enrutamiento: React Router para navegación SPA

Backend (Spring Boot)

  • Capa de Controladores: REST API endpoints
  • Capa de Servicios: Lógica de negocio
  • Capa de Repositorios: Acceso a datos con JPA
  • Seguridad: Spring Security + JWT + OAuth2

Base de Datos

  • PostgreSQL: Almacenamiento persistente
  • Esquema Relacional: Usuarios, Planes, Instancias, Pagos

Servicios Externos

  • MercadoPago: Procesamiento de pagos
  • Google OAuth2: Autenticación social

Diagrama de Arquitectura

┌─────────────┐
│ Cliente │
│ (Browser) │
└──────┬──────┘
│ HTTP/HTTPS
┌──────▼──────┐
│ Frontend │
│ React │
└──────┬──────┘
│ REST API
┌──────▼──────┐ ┌────────────┐
│ Backend │◄─────┤ Google │
│ Spring Boot │ │ OAuth2 │
└──────┬──────┘ └────────────┘

┌──────▼──────┐ ┌────────────┐
│ PostgreSQL │ │ MercadoPago│
│ Database │ │ API │
└─────────────┘ └────────────┘

Patrones de Diseño

  • MVC: Separación en Modelo-Vista-Controlador
  • Repository Pattern: Abstracción de acceso a datos
  • Service Layer: Encapsulación de lógica de negocio
  • DTO Pattern: Transferencia de datos entre capas