marketplace · tiempo real
¡Chamba Ya!
Un marketplace de oficios on-demand: el cliente publica un trabajo, los trabajadores cercanos proponen y todo se coordina por chat en tiempo real.
Construido · proyecto académico, no comercial
Contexto
Contratar un oficio —plomería, carpintería, jardinería— sigue siendo de boca en boca, sin claridad de precio, tiempo ni confianza. La idea fue llevar esa contratación a un flujo on-demand: pedir un servicio, recibir propuestas de gente cercana y darle seguimiento en tiempo real.
Lo que construí
Una plataforma cliente-servidor multiplataforma —web y móvil desde una sola base— con cuatro roles (cliente, trabajador, soporte y administrador) y el ciclo completo:
- Peticiones geolocalizadas. El cliente publica un trabajo con oficio, descripción, presupuesto y ubicación; los trabajadores cercanos lo ven por coordenadas.
- Propuestas que se vuelven trabajos. El trabajador propone y, al aceptarse, se genera un trabajo con su ciclo de vida (pendiente, en progreso, completado, cancelado).
- Chat en tiempo real entre cliente, trabajador y soporte, con adjuntos.
- Expedientes verificables. Los trabajadores suben documentos y asocian oficios para ser verificados.
- Soporte y disputas. Reportes, resoluciones y penalizaciones, con paneles web de administración y soporte.
- Acceso con correo/contraseña y OAuth con Google, y JWT por rol.
Decisiones técnicas
- Backend FastAPI como monolito modular por dominios —auth, peticiones, propuestas, trabajos, comunicaciones, expedientes, soporte—, con SQLAlchemy 2 y Alembic sobre MySQL.
- Tiempo real orientado a eventos: canales WebSocket separados para chat, soporte, notificaciones y peticiones por oficio, cada uno autorizado por rol.
- Un solo cliente Expo / React Native + TypeScript que sirve móvil y web/PWA, con Axios centralizado e interceptores que inyectan el JWT.
- Docker Compose para levantar MySQL y backend en local.
Resultado
Una base funcional amplia: registro y roles, peticiones, propuestas, trabajos, chat, expedientes, soporte y administración, sobre una app que corre en móvil y en web desde el mismo código. Demuestra un dominio completo: backend en tiempo real, datos geolocalizados y una app multiplataforma.
Es un proyecto académico, no comercial. La etapa siguiente —fuera del alcance actual— sería el cobro real con pasarela de pago, el endurecimiento de seguridad y la preparación para producción.
TODO (datos reales, no inventar) — capturas o GIF de la app y, si los hay, números de uso.