Backend - Introducción
El backend de Floutic está construido con FastAPI, PostgreSQL, Redis y Stripe Connect.
🚀 Características Principales
- ✅ Autenticación JWT con refresh tokens, rate limiting y Redis cache
- ✅ Gestión unificada de perfiles (empresa/experto) con validación completa
- ✅ Sistema de proyectos con matching inteligente, aplicaciones y selección
- ✅ Chat interno completo con archivos, edición, eliminación y descarga
- ✅ Pagos Escrow con Stripe Connect
- ✅ Sistema de reseñas y reputación con estadísticas
- ✅ Sistema de hitos secuenciales con entregas, revisiones y pagos parciales
- ✅ Panel de administración con dashboard Kanban unificado
- ✅ Integración completa con GoHighLevel (contactos, oportunidades, etiquetas)
- ✅ WebSocket para notificaciones en tiempo real
- ✅ Tests exhaustivos (781+ tests pasando)
🛠️ Stack Tecnológico
- FastAPI - Framework web moderno y rápido
- PostgreSQL - Base de datos relacional
- SQLAlchemy - ORM con soporte async
- Pydantic - Validación de datos
- Stripe - Procesamiento de pagos
- Redis - Cache y sesiones
- Docker - Containerización
📋 Requisitos
- Python 3.11+
- PostgreSQL 15+
- Redis 7+
- Docker (opcional pero recomendado)
🏗️ Arquitectura
/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
📚 Documentación
- Arquitectura - Estructura detallada del backend
- API Endpoints - Documentación completa de endpoints
- Autenticación - Sistema de autenticación
- Proyectos - Gestión de proyectos
- Pagos - Sistema de pagos Escrow
- Integraciones - Integraciones externas
- Testing - Guía de testing
🚀 Inicio Rápido
Opción 1: Docker (Recomendado)
# Iniciar backend con Docker Compose
docker compose up -d backend
# Ver logs
docker compose logs -f backend
# Acceder a la API
curl http://localhost:8000/health
Opción 2: Desarrollo Local
# Instalar dependencias
pip install -r requirements.txt
# Configurar variables de entorno
cp .env.example .env
# Ejecutar migraciones
alembic upgrade head
# Iniciar servidor
uvicorn app.main:app --reload
🔗 Enlaces Útiles
- API Docs - Swagger UI interactivo
- README Backend - Documentación completa
- PRD Backend - Requerimientos de producto