Arquitectura del Backend
Arquitectura detallada del backend de Floutic.
Estructura de Directorios
/app
├── api/v1/endpoints/ # Módulos de endpoints
│ ├── auth.py # Autenticación JWT estándar
│ ├── auth_secure.py # Autenticación con cookies HttpOnly
│ ├── users.py # Gestión de usuarios
│ ├── profiles.py # Perfiles empresa/experto
│ ├── projects.py # Proyectos y matching
│ ├── chat.py # Sistema de mensajería
│ ├── payments.py # Pagos y escrow
│ ├── reviews.py # Reseñas y reputación
│ ├── milestones.py # Hitos y entregas
│ ├── admin.py # Panel administrativo
│ └── ghl_integration.py # Integración GoHighLevel
├── models/ # Modelos de base de datos
├── schemas/ # Esquemas Pydantic
├── services/ # Servicios especializados
└── core/ # Configuración y seguridad
Componentes Principales
Endpoints
Los endpoints están organizados por funcionalidad en módulos separados.
Modelos
Modelos SQLAlchemy que representan las entidades de la base de datos.
Schemas
Esquemas Pydantic para validación de datos de entrada y salida.
Servicios
Lógica de negocio encapsulada en servicios reutilizables.
Core
Configuración, seguridad y utilidades compartidas.
Flujo de Datos
- Request → Endpoint
- Validación → Schema Pydantic
- Lógica → Service
- Persistencia → Model (SQLAlchemy)
- Response → Schema Pydantic