PeriodPals / periodpals

3 stars 1 forks source link

Feat/timer/view model #225

Closed francelu closed 23 hours ago

francelu commented 1 week ago

Integrate Timer Feature

Description

This PR introduces a new timer feature to the project, which includes the implementation of the timer model, data transfer objects, repository, view model, and associated tests. It integrates the logic for managing timers, including starting, stopping, and resetting timers, as well as synchronizing data with the Supabase backend.

It closes issue #217.

Note

This PR will not handle the delete functions on Timer VM since it's not useful for now. I'm creating a task in for later, when we will need it on the deletion of a user.

I know I should have made a separate PR for the M from the VM. However, as I was implementing the VM, I had to change multiple times the M. That would have lead to a PR from M, and a PR for VM which would have overwritten the PR for M.

This PR has as new lines a lot of documentation , and mainly tests code. Hence, the thousand lines. I'm sorryyy...

Changes

Note

Files

Added

Modified

Removed

Dependencies Added

Testing

francelu commented 1 day ago

Changes Implemented from PR Review of @coaguila

Files

Added

Modified

Removed

Dependencies Added

Testing

NOTE: ~I'm still trying to implement the automatic stop of the timer. However, I'm currently struggling with the tests.~
For now, we just let the timer countdown go to -00:30:00 times and below.

sonarcloud[bot] commented 1 day ago

Quality Gate Passed Quality Gate passed

Issues
3 New issues
0 Accepted issues

Measures
0 Security Hotspots
79.1% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarQube Cloud