Descripcion del Proyecto
MioCondo es un producto en produccion y activo en el mercado. Es una plataforma completa para la administracion de condominios, compuesta por una app movil (publicada en Google Play y App Store), un dashboard web para administradores, y una API REST en Laravel. Conecta residentes, administradores y personal operativo en una sola plataforma, digitalizando procesos que antes se hacian en papel o WhatsApp. Actualmente se continuan desarrollando nuevas features y se brinda soporte continuo.
Caracteristicas Principales
- Reservas de areas comunes: Piscinas, gimnasios, salones. Seleccion de fecha, horario y extras con confirmacion inmediata
- Control de pagos: Historial de pagos con Stripe, subida de comprobantes con foto y generacion de recibos en PDF
- Visitantes con QR: Registro de visitas y generacion de pases de acceso escaneables por seguridad
- Paqueteria: Seguimiento de entregas con codigos de retiro y registro de vigilante
- Dashboard administrativo: Panel web con finanzas, gestion de residentes, morosos, gastos y analisis
- Notificaciones push: Avisos de pagos pendientes, reservas confirmadas y anuncios del condominio
- Multi-condominio: Soporte para usuarios con propiedades en diferentes conjuntos residenciales
- Roles y permisos: SuperAdmin, administrador, staff y residente con vistas diferenciadas
Tecnologias Utilizadas
Backend (Laravel)
- PHP 8.2+ con Laravel 11: API REST con arquitectura modular
- JWT Auth: Autenticacion stateless con refresh tokens
- Spatie Permissions: Sistema de roles y permisos granular
- Stripe: Procesamiento de pagos y suscripciones
- AWS S3: Almacenamiento de archivos y comprobantes
- DomPDF + Simple QRCode: Generacion de recibos y codigos de acceso
Frontend Web (Next.js)
- Next.js 14 con React: Dashboard administrativo con SSR
- TailwindCSS 4 + Radix UI: Componentes accesibles y estilizados
- React Hook Form + Zod: Formularios con validacion type-safe
- Vitest + Playwright: Testing unitario y E2E
App Movil (Expo)
- React Native + Expo SDK 54: Cross-platform iOS y Android
- Expo Router: Navegacion file-based
- NativeWind: TailwindCSS para React Native
- Zustand: State management con Expo Secure Store
Arquitectura
El proyecto se compone de tres aplicaciones independientes que se comunican a traves de la API REST:
- API (Laravel): 50+ modelos, servicios, DTOs, policies y observers. Arquitectura modular con separacion de responsabilidades
- Web (Next.js): 27+ modulos de features con componentes reutilizables, hooks custom y testing completo
- Mobile (Expo): Modulos por feature con screens, componentes, hooks y tipos aislados
Desafios Tecnicos
- Autenticacion multi-proveedor: Google Sign-In, Apple Sign-In y email/password con JWT y refresh tokens compartidos entre web y mobile
- Sistema de pagos: Integracion con Stripe para cuotas, generacion automatica de PDF y seguimiento de morosos
- QR dinámicos: Generacion y validacion de codigos de acceso para visitantes con expiracion configurable
- OTA Updates: Actualizaciones over-the-air con EAS Update sin pasar por las stores
- RBAC: Control de acceso por rol que cambia la UI y los endpoints disponibles segun el tipo de usuario