📅 Cronograma Tentativo
El desarrollo se planificó en checkpoints con objetivos claros y medibles.
Este cronograma puede adaptarse según los resultados de cada sprint, pero sirve como guía de avance del proyecto.
🔹 Segundo Checkpoint (4 semanas)
Objetivos principales:
- 📱 Entregar un APK funcional para que el corrector pueda probar la app.
- 🔑 Implementar el sistema de autenticación de usuarios mediante OAuth + JWT.
- 🌐 Desarrollar el API Gateway para la comunicación entre microservicios.
- 📈 Desarrollar el Servicio de Métricas para monitorear el sistema.
- 🎨 Definir y documentar los bocetos de las vistas principales de la aplicación.
- 📁 Implementar Firebase
Épicas incluidas:
- Usuarios.
- Perfil.
- Artistas.
- Biblioteca.
- Administración de Contenido.
- Administración de Usuarios.
- Explorar.
🔹 Tercer Checkpoint (3.5 semanas)
Objetivos principales:
- 📊 Incorporar métricas en el Backoffice.
- ✅ Validar que se cumplen los requisitos optativos necesarios para la materia.
Épicas incluidas:
- Reproducción.
- Métricas.
- Notificaciones.
- Social.
- Onboarding de Usuario.
🔹 Cuarto Checkpoint (3 semanas)
Objetivos principales:
- 🧩 Implementar pruebas de integración sobre todos los servicios.
- 📚 Completar y consolidar toda la documentación integrable.
- 🧪 Realizar testing masivo de la app y el backoffice, verificando los criterios de aceptación.
- 📝 Confirmar que todos los microservicios generan logs consistentes.
- 📊 Verificar el correcto funcionamiento de las métricas en todo el sistema.
📅 Cronograma Real
🔹 Primer Checkpoint (4 semanas)
Objetivos del Sprint
- En esta primera entrega se alcanzó la integración inicial entre el ‘Backend’, ‘Backoffice’ y la ‘Aplicación Mobile’.
- Se hizo el despliegue de todos los microservicios en la nube.
- Se generó todo el flujo de ‘CI/CD’ en ambos microservicios.
- Se inicializaron ambas bases de datos.
- Se definió la arquitectura a seguir.
Camila
- ✅ Armado de la estructura del endpoint. Database, Controller, Model, Schema.
- ✅ Desarrollo de endpoints de songs.
- ✅ Armado de las pruebas y debugging en local.
- ✅ Configuración del testing para deploy.
- ✅ Documentación sobre stack elegido.
Esteban
- ✅ Puesta en marcha del repositorio con Docker para local y remoto.
- ✅ Conexión con MongoDB desde content-api.
- ✅ Armado del deploy para produccion.
- ✅ Desarrollo de endpoints de playlist.
- ✅ Documentación integral de los repositorios del Backend.
Felipe
- ✅ Capacitación inicial en TypeScript, React, React Native y JavaScript.
- ✅ Reuniones de equipo para comprender en profundidad el enunciado.
- ✅ Definición de arquitectura → elección de Expo por sus ventajas en desarrollo móvil.
- ✅ Configuración de entorno local y emuladores Android.
- ✅ Desarrollo de las primeras pantallas y conexión con APIs (local y en la nube).
Joaquín
- ✅ Crear organización en Github.
- ✅ Levantar instancias en AWS EC2 para user-api, content-api y el backoffice.
- ✅ Levantar bases de datos en Supabase (PostgreSQL) y Atlas (MongoDB).
- ✅ Configurar estructura inicial (Dockerfile, Docker Compose, Makefile, etc) de user-api y content-api.
- ✅ Desarrollar endpoints básicos para la user-api.
- ✅ Configurar Github Runners.
- ✅ Configurar CI/CD para user-api y content-api.
- ✅ Documentar diagrama de arquitectura y CI/CD.
Martín
- ✅ Creación del repositorio con un Backoffice muy básico.
- ✅ Levantar el backoffice con un compose que funcionaba para hacer pruebas de manera local.
- ✅ Levantar el backoffice con el compose-remote que se conectaba con la base de datos y le pegaba a los Endpoints de la API del usuario.
- ✅ Emprolijar un poco el frontend (botoón y título).
- ✅ Creacion de un archivo CI que corre un Linter al pushear.
- ✅ Creación del archivo CD para que al pushear o realizar un pr a main se haga el Deploy a AWS.
- ✅ Documentar bien el Readme, explicando como se levanta el backoffice y justificaciones del stack elegido.
🔹 Segundo Checkpoint (4 semanas)
Objetivos del Sprint
- Creación de todos los microservicios restantes.
- Realizó el despliegue de las métricas.
- Integró la funcionalidad de gestión y reproducción canciones en la ‘Aplicación Mobile’ y el ‘Backoffice’.
- Implementaron las funcionalidades de administración de usuarios y contenido en el ‘Backoffice’.
- Redefinición del scope de las entidades.
- Añadido del sistema de autenticación.
- Conexión de ‘Firebase’ y ‘Datadog’ con el resto del sistema.
Camila
- ✅ Bocetos del ‘Home’.
- ✅ Backend de la Biblioteca.
- ✅ Lógica de gestión de imágenes.
- ✅ Refactorización de la funcionalidad de la Playlists.
- ✅ Integración de la ‘Content API’ con la ‘Player API’ desde el lado de la ‘Content API’.
Esteban
- ✅ Integración de la ‘Content API’ con la ‘Player API’ desde el lado de la ‘Player API’.
- ✅ Desarrollo de la ‘Player API’.
- ✅ Gestión de las canciones.
- ✅ Relevamiento de los criterios de aceptación para las distintas funcionalidades.
- ✅ Redefinición del scope del Sprint.
Felipe
- ✅ Estrucutra inicial de la ‘Chat API’ (Mas adelante se modificó el enunciado y se descartó el microservicio del scope).
- ✅ Estructura inicial de la ‘Notification API’.
- ✅ Creación de ‘Supabase’ e ‘Firebase’.
- ✅ Desarrollo de las vistas del ‘Home’ y los ‘Perfiles’.
- ✅ Integración de las nuevas ‘APIs’ con la ‘Aplicación Mobile’.
- ✅ Integración del sistema de autenticación en la ‘Aplicación Mobile’.
Joaquín
- ✅ CI/CD de la ‘Chat API’ (Mas adelante se modificó el enunciado y se descartó el microservicio del scope)..
- ✅ CI/CD de la ‘Notification API’.
- ✅ CI/CD de la ‘Player API’.
- ✅ Implementación de API Gateway.
- ✅ Despliegue de las métricas y logs en Datadog de todos los servicios.
- ✅ Implementación de token de autorización.
- ✅ Reseteo de contraseña con código por mail.
- ✅ Implementación de la gestión de perfiles.
Martín
- ✅ Implementación de la administración de usuarios.
- ✅ Implementación de la administración de contenido.
- ✅ Integración del sistema de autenticación en el ‘Backoffice’.
- ✅ Diseño ‘UX/UI’ de la interfaz del ‘Backoffice’.
- ✅ Testing integral del funcionamiento de las ‘APIs’.
🔹 Tercer Checkpoint (3.5 semanas)
- Integración de todos los logs en una única plataforma (Datadog).
- Implementación de todas las historias obligatorias en la ‘Aplicación Móvil’ (Backend + Frontend).
- Implementación de todas las historias obligatorias en el ‘Backoffice’ (Backend + Frontend).
- Elección de las historias opcionales a implementar, en base a el MVP desarrollado.
- Eliminación del microservicio ‘Chat API’ (Por cambio de enunciado).
- Añadido del sistema de autorización y autenticación en todos los microservicios.
Camila
- ✅ Creación del sistema de subida de imágenes.
- ✅ Rediseño de la gestión de colecciones.
- ✅ Pulida de bocetos visuales.
- ✅ Diseño del menú desplegable en la Aplicación.
- ✅ Desarrollo de los endpoints de Explorar.
Esteban
- ✅ Creación del sistema de subida de canciones.
- ✅ Desarollo de los endpoints de Biblioteca.
- ✅ Desarrollo de los endpoints de Reproducción.
- ✅ Diseño de funcionalidades desde la interfaz gráfico.
- ✅ Control de consistencia en las bases de datos.
- ✅ Sistema de Búsqueda.
Felipe
- ✅ Desarollo de los endpoints de Notificaciones.
- ✅ Diseño de funcionalidades desde la interfaz gráfico.
- ✅ Integración de el sistema de Notificaciones en la Aplicación Móvil.
- ✅ Integración de las historias de Contenido obligatorias en la Aplicación Móvil.
- ✅ Integración de las historias de Usuarios obligatorias en la Aplicación Móvil.
- ✅ Integración de las historias de Notificaciones obligatorias en la Aplicación Móvil.
Joaquín
- ✅ Integración de todos los logs en una única plataforma (Datadog).
- ✅ Desarrollo de los endpoints de perfil de Usuario.
- ✅ Desarrollo de los endpoints de perfil de Artista.
- ✅ Desarrollo de los endpoints de métricas.
- ✅ Añadido de los sistemas de autenticación y autorización en los microservicios restantes.
- ✅ Creación del sistema de subida de imágenes.
Martín
- ✅ Desarollo de los endpoints de Administración de Contenido.
- ✅ Desarollo de los endpoints de Administración de Usuarios.
- ✅ Integración de los endpoints de Administración en el Backoffice.
- ✅ Integración de los endpoints de Métricas de usuario en el Backoffice.
- ✅ Testing de usuario de la Aplicación Móvil.
🔹 Cuarto Checkpoint (3 semanas)
- Implementación de todas las historias opcionales en la ‘Aplicación Móvil’ (Backend + Frontend).
- Implementación de todas las historias opcionales en el ‘Backoffice’ (Backend + Frontend).
- Testing integral de la ‘Aplicación Móvil’.
- Testing integral del ‘Backoffice’.
- Corrección de bugs encontrados.
- Finalización de documentaciones.
- Preparación de la entrega final.
Camila
- ✅ Finalización de la documentación.
- ✅ Preparación de la exposición para la entrega.
- ✅ Testing integral de la ‘Aplicación Móvil’.
- ✅ Desarrollo del Backend para las funcionalidades de Onboarding.
- ✅ Desarrollo del Backend para las funcionalidades del Home.
Esteban
- ✅ Finalización de la documentación.
- ✅ Preparación de la exposición para la entrega.
- ✅ Desarrollo del Backend para las funcionalidades opcionales para los Artistas.
- ✅ Desarrollo del Backend para las funcionalidades opcionales del Reproductor.
- ✅ Preparación de la Base de Datos para la entrega final.
Felipe
- ✅ Finalización de la documentación.
- ✅ Preparación de la exposición para la entrega.
- ✅ Integración de las historias opcionales en la ‘Aplicación Móvil’.
- ✅ Testing integral de la ‘Aplicación Móvil’.
- ✅ Corrección de los bugs encontrados en la ‘Aplicación Móvil’.
Joaquín
- ✅ Finalización de la documentación.
- ✅ Preparación de la exposición para la entrega.
- ✅ Desarrollo del Backend para las funcionalidades opcionales para los Usuarios.
- ✅ Desarrollo del Backend para las funcionalidades opcionales para las Métricas.
- ✅ Desarrollo del Backend para las funcionalidades Sociales opcionales.
Martín
- ✅ Finalización de la documentación.
- ✅ Preparación de la exposición para la entrega.
- ✅ Desarrollo del Backend para las funcionalidades opcionales para el ‘Backoffice’.
- ✅ Integración de las historias opcionales en el ‘Backoffice’.
- ✅ Testing integral del ‘Backoffice’.