Saltar al contenido principal

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

🚀 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