Volver a proyectos
Captura de HomeFix
Proyecto destacado

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

Captura de HomeFix 1
Captura de HomeFix 2
Captura de HomeFix 3
Captura de HomeFix 4
Captura de HomeFix 5
Captura de HomeFix 6
Captura de HomeFix 7

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