-
Notifications
You must be signed in to change notification settings - Fork 0
Sprint 5
I'm thrilled to report that I completed all my tasks on time this sprint. The code I developed in the previous sprint for selecting images from the gallery was well modularized, making it easy to adapt and reuse for the task of uploading images in chat this sprint. As our app starts to take shape and connect all of our different components, I took the initiative to complete additional tasks, even though they were not originally assigned to me for this sprint. It's been incredibly satisfying to see the app become usable from a general perspective for the first time. Overall, I'm pleased with my progress this sprint and the continued development of our app.
Compared to my last sprint, this one was much better in terms of organization. I managed to finish my tasks on time without unexpected issues like last time. The only thing is that I had a big merge to do with the work of Aymeric. He was working on join restrictions of the event, and I was working on join-as-interested which is very close. So that was a tricky part.
During this sprint I worked on two tasks. The first one consisted in creating a list view for the profiles registered to an event. For this task I made sure to reuse fragments that we had already created to have modular code. Modularity was a key aspect of my sprint. Indeed, for my second task I had to reuse code for time and date selection so I created helper functions to keep everything clear. A big difficulty during this sprint came with this second task, because it was extremely linked to Mikael's sprint task. Technically our tasks didn't overlap too much; however, since we didn't refactor the existing code in the same way, we had a very difficult merge.
During this sprint, my focus was on fixing the tests in our CI process. Although this task was challenging and time-consuming, I was able to complete it successfully quickly to allow the other members of the team to work properly. Despite the initial difficulties, our team's persistence and collaborative efforts helped us overcome the obstacles and accomplish our goals.
During this sprint, my focus was to implement a notification system for notifications. This task was really time-consuming. We all thought creating a notification system that reminds users of an event they were participating in was a good idea. However, the way I implemented this feature led to a wall: with firebase cloud messaging we can send instant notifications but we cannot schedule notifications (we can only do this manually in test mode). Because the scheduling is not currently supported, I couldn't finish this task. However, we could later implement a feature where the owner of an event could sent automatically a notification to all users that are subscribed to the topic (without scheduling, with a trigger like a send button). An alternative would be to use something like google calendar which would be hard to integrate with or to use Google Cloud Scheduler which would be costly for us (I really tried to find some alternative but none of the options was good enough).
I had a pretty good sprint, connecting the activities by transforming them into fragments was quite technical and yet intuitive. Glad I finished early in order to not slow down the other team members. I also learned a lot on how to adapt UIs in different contexts and how to transfert data between fragments.
The start of the sprint was challenging due to broken tests from the previous sprint. Despite passing in the local environment, they did not pass the CI in a non-deterministic fashion for unknown(!) reasons. This was caused by bad assumptions made while writing tests in the previous sprint and because some teammates finished their work quickly before the deadline and force-pushed it to the main branch. Fortunately, Luc did an amazing job resolving these issues, saving all of us from the time-consuming task of debugging failed tests.
Apart from that, we did not encounter any major issues during this sprint. Thanks to our modularised codebase and well assigned tasks, we were able to complete our major tasks without any conflicts, it went smoothly.