
HomeFix
Plataforma full-stack que conecta clientes con profesionales de oficios del hogar.
HomeFix es un proyecto final de carrera realizado con tecnologías frontend con React + Vite y backend con Node.js + Express + Prisma + MySQL, con toda la UI en español para el mercado argentino. Un proyecto de alta complejidad que integra autenticación con Auth0, verificación de identidad KYC (Didit), asistente con IA generativa (Gemini), notificaciones en tiempo real por Telegram, sistema de licitaciones, subcontratación y reseñas bidireccionales.
- React
- Vite
- Node.js
- Express
- Prisma
- MySQL
Imágenes del proyecto







Qué lo hace interesante
Búsqueda por distancia y emergencias
Radio en km, filtros por categoría y paginación. Publicaciones de emergencia que expiran a las 24h y se difunden por Telegram.
Licitaciones y subcontratos
Licitaciones con ponderaciones de criterios y presupuesto máximo. Subcontratos con múltiples puestos agrupados por rubro.
Asistente con IA (Gemini)
Chat que diagnostica el problema del cliente, recomienda categoría y autogenera el borrador del post
KYC con Didit
Verificación de identidad con Didit (foto del DNI y selfie) para trabajadores y con validación de documentos.
Reseñas bidireccionales
Clientes y trabajadores se califican mutuamente (1-5, con fotos) solo tras completar o cancelar el trabajo.
Arquitectura
Backend con capas estrictas documentadas en ARCHITECTURE.md y una regla dura: cada capa solo importa hacia abajo. En la práctica es una arquitectura Domain Driven Design simplificada sin use cases con dependencia invertida.
presentation/Routes Express, middleware (JWT de Auth0, manejo de errores), DTOs y transformers (Date → ISO). Swagger en /api-docs.
domain/Servicios con la lógica de negocio y reglas (guards 404/403, validaciones). Tipos de dominio con Date.
infrastructure/Acceso a datos (queries Prisma), transformers (Prisma → dominio) y providers externos: Auth0, Gemini, Cloudinary, Telegram, Didit.
lib/Utilidades compartidas: cliente Prisma, env, logger pino y errores.
Frontend
React 19 + Vite + TypeScript con Tailwind CSS 4, React Router 7, Leaflet para mapas y PWA (vite-plugin-pwa). Organizado en views/, components/, hooks/ por feature (useCreatePost, useDiagnosisChat), services/ (clientes axios tipados) y types/.
Características principales
- Publicación de trabajos por categoría con imágenes, rango de fechas y dirección con lat/long.
- Postulaciones de trabajadores con mensaje, disponibilidad de días, costo de visita y estimación.
- Flujo de contratación con estados (Active → InProgress → Completed/Cancelled), pausa y cancelación.
- Token de inicio de 4 dígitos (TTL 5 min, 5 intentos) que el trabajador genera y el cliente valida.
- Autenticación Auth0 con verificación de email, recuperación de contraseña y roles por claim.
- Notificaciones en tiempo real por Telegram y dashboard con estadísticas de trabajo.
- Perfiles públicos con rating, subida de imágenes a Cloudinary y calendario del trabajador.
Calidad y despliegue
- Testing por capas con Vitest + Supertest (service, data, routes) y Testing Library en el cliente.
- TypeScript estricto con ESLint; typecheck, lint y build verificados en CI.
- CI/CD con GitHub Actions (3 jobs: lint, build, test) con MySQL en contenedor.
- Producción: backend en Railway, frontend en Vercel y base de datos en Aiven con MySQL 8.
¿Querés ver el resto?
Explorá otros proyectos donde aplico buenas prácticas de arquitectura, rendimiento y experiencia de usuario.
Ver todos los proyectos