Brody

Actualizando
App social para conexiones globales
React Native
Expo
Node.js
Socket.IO
MongoDB
Vite
Visitar
2025-11 - 2026-04
Brody - Imagen 1
1 / 1
Descripción del Proyecto

Brody es una plataforma social que reimagina la forma en que las personas se conectan globalmente. La aplicación combina un sistema de descubrimiento aleatorio e inteligente con mensajería en tiempo real, permitiendo a usuarios de diferentes países y culturas establecer conexiones auténticas. Con un modelo freemium que equilibra accesibilidad y sostenibilidad, Brody ofrece límites razonables para usuarios gratuitos y opciones premium para usuarios más activos. El proyecto incluye una aplicación móvil nativa desarrollada con React Native, un backend robusto con Socket.IO para comunicación en tiempo real, y un panel de administración web completo para gestión de usuarios, moderación de contenido, y análisis de soporte. La arquitectura incluye sistemas avanzados de moderación, notificaciones push inteligentes, almacenamiento en la nube, y múltiples capas de seguridad.

Stack Tecnológico

Móvil

React Native
Expo SDK 54
React Navigation 7
Zustand (State Management)
Socket.IO Client
Axios
i18next & react-i18next

Web

Vite
React
React Router
Axios
CSS Modules

Backend

Node.js
Express
Socket.IO
JWT (jsonwebtoken)
Bcrypt
Mongoose

Base de Datos

MongoDB Atlas
Mongoose ODM

Integraciones

Cloudinary (Image Storage)
Resend (Email Service)
Expo Push Notifications
RevenueCat (In-App Purchases)
Lucide Icons
Expo Image Picker
AsyncStorage (Offline Caching)
NetInfo (Network Detection)

Herramientas

EAS Build
Expo Dev Client
GitHub
Render (Backend Hosting)
Vercel (Web Hosting)
Nodemon
Características Principales
  • Sistema de autenticación completo con email/password y verificación por código
  • Recuperación de contraseña con códigos de verificación temporal
  • Discovery inteligente con perfiles aleatorios y límites por tipo de usuario
  • Chat en tiempo real con Socket.IO y mensajes optimistas
  • Sistema de notificaciones push con deep linking a chats específicos
  • Perfiles completos con avatares, país, edad, ocupación, etc.
  • Sistema de reportes con auto-ban por acumulación
  • Moderación completa con notificaciones por email a usuarios baneados
  • Modelo freemium con límites dinámicos (30 swipes/día, 10 chats activos)
  • Integración RevenueCat para suscripciones premium
  • Internacionalización completa (ES/EN) con i18next
  • Feedback integrado con captura de tipo y descripción
  • Soporte técnico con formulario directo al backend
  • Panel administrativo web con gestión de usuarios, chats, reportes y feedback
  • Almacenamiento en la nube con Cloudinary para avatares
  • Gestión de cuenta: resetear progreso, eliminar cuenta completa
  • Sistema de banderas con normalización automática de códigos ISO
  • Detección de red con indicadores visuales y mensajes toast
  • Caché local con AsyncStorage para carga instantánea de chats
Desafíos y Soluciones
  • 1Implementación de Socket.IO con reconexión automática y manejo de estados offline
  • 2Sincronización de estado global entre Zustand (frontend) y MongoDB (backend) en tiempo real
  • 3Sistema de mensajes optimistas con rollback en caso de error de red
  • 4Arquitectura de límites freemium con contadores daily y validación server-side
  • 5Integración RevenueCat con sincronización de estado premium entre app y backend
  • 6Implementación de deep linking para notificaciones push que navegan al chat correcto
  • 7Sistema de reportes con auto-ban y prevención de spam (solo 1 reporte por usuario)
  • 8Envío de emails HTML transaccionales con Resend y templates profesionales
  • 9Caché inteligente con AsyncStorage para evitar spinners en navegación frecuente
  • 10Normalización de códigos de país (ISO-3166-1-alpha-2) con fallback automático
  • 11Manejo de teclado en Android/iOS con KeyboardAvoidingView y animación suave
  • 12Implementación de FlatList invertido para chat con lógica de agrupación de mensajes
  • 13Sistema de i18n con detección automática del idioma del dispositivo y persistencia
  • 14Gestión de permisos (galería, notificaciones) con fallback y UX sin bloqueos
  • 15Implementación de RLS (Autorización) con middleware JWT y verificación de tokens
  • 16Optimización de rendimiento en listas largas (Chats, Discovery) con paginación y lazy loading
  • 17Manejo de estados de carga complejos sin interferencia (localLoading vs global loading)
  • 18Arquitectura modular con separación clara: Controllers, Models, Routes, Services, Utils
  • 19Implementación de CORS configurado para desarrollo local y producción cloud
  • 20Upload de imágenes con transformación automática en Cloudinary (resize, optimize)
Resultados e Impacto
  • Arquitectura completa multiplataforma: Mobile (React Native) + Web (Vite) + Backend (Node.js)
  • Sistema de mensajería en tiempo real con Socket.IO y actualización optimista
  • Base de datos NoSQL con modelos robustos: User, Report, Feedback, Support, etc.
  • Emails transaccionales HTML profesionales con Resend (verificación, recuperación, baneos)
  • Sistema de autenticación con JWT, hash bcrypt, y tokens de sesión seguros
  • Discovery aleatorio con validación de perfiles completos (bloqueo si faltan datos)
  • Límites freemium: 30 swipes diarios, 10 chats activos simultáneos para free tier
  • Modelo de suscripción con RevenueCat y Play Store Billing
  • Notificaciones push inteligentes que abren el chat exacto al hacer tap
  • Panel de administración web con gráficos, filtrado y exportación de datos
  • Página pública con políticas de privacidad, términos de servicio y formulario de soporte
  • Sistema de caché offline para chats (Stale-While-Revalidate pattern)
  • Validación de inputs en tiempo real: usernames únicos, emails, formato de redes sociales
  • 2 redes sociales soportadas con iconos dinámicos y validación de URLs
  • Detección de red con toast automático y prevención de acciones offline
  • Globalización completa con traducciones reactivas y cambio de idioma en runtime
  • Chat con FlatList invertido, agrupación de mensajes, y headers de fecha inteligentes
  • Perfil con avatares personalizados, datos demográficos, y enlace a redes sociales verificadas