Sprint 3 - G33-Moviles-2026-1/Wiki GitHub Wiki
List of all Features Implemented (Sprint 2 and Sprint 3)
- Favoritos (Pantalla) -> BQ tipo 4 (Cuales son los salones mas favoritos entre todos los estudiantes?) (Gabriel y Juanes se la tienen que pelear)
- User Based Recomendations (Filtro) -> BQ tipo 2 & Smart Feature. (Daniel y Mateo)
- Near me + instrucciones de navegación -> BQ tipo 2 + Instrucciones de navegación. Cesar y Roa
Implemented BQs (Sprint 3 only)
| Type of Question | Question | Assignee Flutter | Assignee Kotlin |
|---|---|---|---|
| Type 2 | Given a location and a room, what is the path to get to that room? | Cesar | Roa |
| Type 2 | What are the most suitable rooms for a specific user, based on its favorites rooms, bookings history and uploaded schedule? | Daniel | Mateo |
| Type 1 | What are the most favorited rooms by the users? | — | Gabriel |
| — | Pending Assignment | Juanes | — |
Eventual Conectivity Strategies
-
Gabriel: Memory Queue. Events that cannot be sent are held in an in-memory queue and retried when the system reports that a network with Internet is available through a NetworkCallback.
-
Roa/Cesar: Bookings can be eliminated even without connectivity and as when the device has connection again it sends the delete to the back and informs the user that the deletion was effective.
Sign In, Login y 3 pantallas de Schedule (Daniel y Mateo)
Eventos de analítica [Near By and Schedule](se mandan apenas se recupera conexion) (Juanes y Gabriel)
Please check the Managed Eventual Conectivity Scenarios.
Local Storage Strategies
- Gabriel: DataStore Preferences. The app uses DataStore Preferences with a single JSON blob (via Gson) because it is enough to persist the room list in a simple, stable way across sessions without a relational database. *Datos de los salones favoritos (Toca implementar favoritos). (Juanes y Gabriel)
- Horario del Usuario. (Mateo y Daniel)
- Bookings Activos del Usuario. (Cesar y Roa)
Multi-threading Strategies
Caching Strategies
-
Instrucciones de navegación que escoge el usuario de los últimos 2 salones. (Cesar y Roa)
-
Guardar los últimos resultados de buscar salones (Paginación). (Gabriel y Juanes)
-
Guardar el detalle de los salones. Guardar el Usuario. Guardar los Ultimos Resultados Schedule Based Recomendation (Mateo y Daniel)
-
Gabriel: Network-first with in-memory page cache. Each page of results returned by the backend is stored in an in-memory map keyed by page number so it can be reused when paging or shown when the request fails and the search parameters are unchanged.