Skip to content

Sprint 1 (06/10/2025 - 12/10/2025)

Goal

The primary goal of this first sprint is to bootstrap the project. This will involve the initial setup of the Scala project and its repository, establishing the test suite, and configuring the documentation and CI pipeline. Furthermore, this sprint will focus on the user interface by producing mockups and the initial view-only implementation of several game screens. Finally, a preliminary design for the case generation logic will be explored and defined.

Sprint Backlog

PriorityProduct Backlog ItemSprint TaskAssigneeInitial Estimate of Effort1234567
1SetupProject (#1)Lucia Castellucci11------
1SetupDocumentation (#11)Lucia Castellucci1--1----
1SetupGUI Engine (#50)Lucia Castellucci--------
1SetupCI (#2)Luca Samorè3--2----
1Case GenerationLogic Design (#13)Roberto Mitugno142-3----
2MockupHome Page (#33)Lucia Castellucci2-2-----
2MockupMain Game Page (#46 -> #35)Lucia Castellucci2---2---
2ViewHome Page (#33)Lucia Castellucci3----3--
2GUI - Game GenerationConfiguration Page (#34)Luca Samorè5-----36
2SetupTest Suite (#32)Luca Samorè1---1---

Review

The setup tasks for this sprint were successfully completed. Regarding Continuous Integration, a workflow for test execution has been added as a starting point. Additional workflows, such as those for deployment, documentation deployment, and code quality checks, will be implemented in subsequent sprints. Mockups have been created for the Home Page, Game Configuration, and the main Game Board. For the first two, an initial implementation has been developed in Scala with the objective of becoming familiar with the ScalaFX library for creating the views.

Retrospective

Tackling the UI implementation first was the right call. Since view development is typically time-consuming, this early exposure to ScalaFX will increase our efficiency moving forward, enabling a stronger focus on model's aspects. Progress on the case generation feature, however, was impeded by Roberto Mitugno's limited availability due to his work schedule. The task has therefore been rescheduled for the upcoming sprint.