
Process Description
Our team followed the Scrum steps throughout the project. We used Trello to manage and delegate tasks as well as make sure that everyone was on the same regarding the project and their assignments.
01




Planning and Sprint 1
Before the project began, we started planning a timeline and created self imposed deadlines so that we wouldn’t fall behind. We identified the user stories we wanted to implement and planned out a two week scrum. We also set up a Trello page for planning out the sprint and deadlines, as well as assigning tasks. During the first sprint we wanted to implement the base user stories and the firebase story. These sounded the most useful and necessary to this project. Ricky, Arnav, and Sanika worked mainly throughout this sprint while the other members were technical and provided documentation.
02
Sprint 2
As seen in the spring diagram, at least one developer also checked in daily with progress and to ask other developers for support and feedback on their work. At the end of the sprint, we took a look at the application as a group and planned the next sprint. The next spring consisted of implementing audio playback and openAI into the application. This was spearheaded by Ricky, Atharva, Tanishka, and Nate. They also checked in nearly daily to provide the team with updates on their progress, gain feedback, and ask for additional support from Sanika and Arnav. Sanika and Arnav also worked on technical support and documentation during this time.





03
Decisions
The openAI user story seemed very interesting and something new to work with so we chose that story. It also helped us adhere to the overall pattern and single responsibility principle as it was separate from the rest of the application. We also believed that by implementing an LLM API into our app early on, we can eliminate a heavy part of the 32 part requirement, and introduce an interesting and cutting-edge feature.
04
Single Responsibility Principle
Though we ensured all SOLID principles were present and enforced throughout our application, we chose to implement the audio playback user story due to the single responsibility principle. As seen in the diagram on single responsibility principle, separate classes should exist for separate functions. It was easy to add the audio playback user story as it was adhered to this principle and we could implement separate classes for the functionality.
