iMirly (TFC)
Marketplace de servicios profesionales: app Android, backend, demo web y todas sus webs de soporte
Sobre el proyecto
iMirly es mi Trabajo de Fin de Ciclo de DAM en New Digital Talent (Granada): un marketplace que conecta a personas que necesitan un servicio (reformas, limpieza, clases, estética...) con profesionales de su zona. Todo el proceso ocurre dentro de la app: se habla por chat, se negocia un presupuesto, el pago queda retenido en un monedero virtual y, al terminar, cliente y profesional se valoran.
Lo hicimos entre cuatro, sin jefe: cada uno asumía lo que mejor se le daba y las decisiones se tomaban en equipo. Además de la app Android y su backend, el proyecto tiene una demo web que se prueba sin instalar nada, una web de presentación, una web de documentación técnica y un manual de usuario.
Mi papel en el equipo
Me encargué de todo lo que rodea a la app para que se pueda entender, probar y presentar, y diseñé la app junto a Ana Núñez.
- Diseño de la app en Figma junto a Ana Núñez
- Encuesta a usuarios para decidir el estilo visual
- Identidad visual y presentación en Canva
- MVP web en React + TypeScript (lo hice entero)
- Manual de usuario con capturas de cada pantalla
- Webs de presentación y de documentación, con el equipo
- Orden de la organización de GitHub y sus README
- Documentación técnica del proyecto
El equipo
Eva Gallardo
Diseño, webs y documentación
Ana Núñez
Diseño UX/UI e interfaz en Compose
Ángel Millán
Full-stack y arquitectura del backend
Nicolás Corbi
Lógica de negocio y modelos de datos
Todo el proyecto
Web
Presentación
La idea, el mercado y la estrategia, el diseño UX, la aplicación, la tecnología y el equipo, en seis páginas.
Abrir webWeb
Documentación técnica
Instalación, arquitectura hexagonal, app Android, backend, seguridad JWT y cada funcionalidad explicada.
Abrir webWeb
Manual de usuario
Guía paso a paso con capturas: registro, inicio, favoritos, nuevo anuncio, perfil, mis anuncios y saldo.
Hecho por mí Abrir webRepositorio · Web
MVP web
La app recreada como web estática para probarla sin instalar nada. Los datos se guardan en el navegador.
Hecho por mí Ver códigoRepositorio
Código de la app
Monorepo con la app Android (Kotlin + Compose) y la API REST en Spring Boot con arquitectura hexagonal.
Ver códigoRepositorio
Backend extra
Backend por capas con panel de administración en HTML, CSS y JavaScript servido por el propio Spring Boot.
Ver proyectoDiseño
Prototipo en Figma
Prototipo navegable de la app, de los bocetos a pantallas en alta fidelidad.
Verlo aquíDiseño
Presentación en Canva
Las diapositivas con las que defendimos el proyecto.
Hecho por mí Verla aquíGitHub
Organización iMirly
Todos los repositorios del proyecto reunidos en un mismo sitio.
Ver organizaciónCómo funciona un encargo
Buscar
Categoría, subcategoría y anuncio
Chat
Cliente y profesional hablan en la app
Presupuesto
Se envía, se acepta o se rechaza en el chat
Pago retenido
El saldo queda bloqueado hasta aprobar el trabajo
Valoración
Los dos se puntúan de 1 a 5 estrellas
Características principales
Cuentas con JWT
Registro e inicio de sesión con Spring Security, JWT y contraseñas cifradas con BCrypt.
Catálogo
Anuncios por categorías y subcategorías, buscador y favoritos.
Tareas
El profesional marca el trabajo como terminado y el cliente lo aprueba o pide cambios.
Arquitectura hexagonal
Backend dividido en módulos (cuentas, catálogo, contratos y mensajes) con dominio, aplicación e infraestructura.
Proceso de diseño
La app
MVP web
Para que cualquiera pudiera probar iMirly sin compilar la app, hice una versión web que recrea sus pantallas y flujos: onboarding, registro, catálogo con buscador, chat con presupuestos, favoritos, publicación de anuncios y monedero. Es una web estática (no usa el backend real) y en escritorio se muestra dentro de un marco de móvil.
Stack Tecnológico
App Android
- Kotlin + Jetpack Compose
- MVVM, ViewModels y corrutinas
- Retrofit + OkHttp
- Material Design 3
Backend
- Java 17 + Spring Boot 3
- Spring Security + JWT
- PostgreSQL, H2 y JPA/Hibernate
- Docker Compose
Webs y diseño
- React + TypeScript + Vite + Tailwind
- HTML, CSS y JavaScript
- GitHub Pages
- Figma y Canva