You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -35,12 +30,15 @@ The product is intentionally calm: it helps users move work forward without turn
35
30
- Advanced filters, sorting, density modes, and search
36
31
- Focus ownership mode with active-task workflow
37
32
- Timer and Pomodoro sessions with resilient timestamp-based persistence
38
-
- Adaptive wellness reminders for hydration, posture, and movement
33
+
- Adaptive wellness reminders for hydration, posture, and movement recovery
39
34
- Contextual recovery suggestions and lightweight wellness consistency tracking
40
35
- Keyboard shortcut personalization with conflict prevention
36
+
- Workspace and daily productivity reset actions
41
37
- Dark/light themes, reduced-motion support, and responsive layouts
42
38
- Cypress E2E coverage for core workflows, persistence, keyboard, and accessibility behavior
43
39
40
+
---
41
+
44
42
## Product Philosophy
45
43
46
44
DevBreak is not a Pomodoro clone and not a fitness tracker. It is a focused workspace that treats productivity and recovery as part of the same workflow.
@@ -53,6 +51,8 @@ Wellness guidance is intentionally subtle:
53
51
- no invasive notifications
54
52
- supportive summaries only after meaningful activity exists
55
53
54
+
---
55
+
56
56
## Architecture
57
57
58
58
The app uses a modular feature structure with service-owned state and presentational component boundaries.
@@ -70,29 +70,33 @@ src/app/
70
70
services/
71
71
models/
72
72
services/
73
-
```
73
+
````
74
74
75
75
Key architectural choices:
76
76
77
-
- RxJS streams for timer, workspace mode, focus, wellness, and derived UI state
78
-
- LocalStorage persistence with validation and safe fallbacks
79
-
- Angular CDK DragDrop for board interactions
80
-
- Focused presentational components for settings, timer actions, wellness cards, and insights
81
-
- CSS variables for density, theme, and responsive ergonomics
82
-
- Minimal global state, no backend assumptions, no heavyweight store layer
77
+
* RxJS streams for timer, workspace mode, focus, wellness, and derived UI state
78
+
* LocalStorage persistence with validation and safe fallbacks
79
+
* Angular CDK DragDrop for board interactions
80
+
* Focused presentational component boundaries for settings, timer actions, wellness cards, and insights
81
+
* CSS variables for density, theme, and responsive ergonomics
82
+
* Minimal global state, no backend assumptions, no heavyweight store layer
83
+
84
+
---
83
85
84
86
## Accessibility
85
87
86
88
DevBreak includes an accessibility pass across semantics, keyboard behavior, screen-reader feedback, and motion preferences.
87
89
88
-
- Landmark and heading structure
89
-
- Accessible form labels and icon/control labels
90
-
- Visible focus states
91
-
- ESC handling and focus restoration
92
-
- Keyboard activation parity for primary workflows
93
-
- ARIA live regions for meaningful state changes
94
-
-`prefers-reduced-motion` support
95
-
- Cypress coverage for keyboard and accessibility-critical flows
90
+
* Landmark and heading structure
91
+
* Accessible form labels and icon/control labels
92
+
* Visible focus states
93
+
* ESC handling and focus restoration
94
+
* Keyboard activation parity for primary workflows
95
+
* ARIA live regions for meaningful state changes
96
+
* `prefers-reduced-motion` support
97
+
* Cypress coverage for keyboard and accessibility-critical flows
98
+
99
+
---
96
100
97
101
## Testing & Reliability
98
102
@@ -102,11 +106,17 @@ npm run build
102
106
npm run e2e
103
107
```
104
108
109
+
Current validation status:
110
+
111
+
* 56 automated tests passing
112
+
* Production build passing
113
+
* Cypress workflow coverage stable
114
+
105
115
Coverage includes:
106
116
107
-
- Unit tests for timer persistence, wellness heuristics, shortcuts, filters, density, and component behavior
108
-
- Cypress E2E tests for Kanban, focus sessions, persistence restore, keyboard workflows, and reduced-motion smoke coverage
109
-
- Production build validation through Angular budgets
117
+
* Unit tests for timer persistence, wellness heuristics, shortcuts, filters, density, and component behavior
118
+
* Cypress E2E tests for Kanban, focus sessions, persistence restore, keyboard workflows, and reduced-motion smoke coverage
119
+
* Production build validation through Angular budgets
110
120
111
121
Note for local Windows shells: if Cypress inherits `ELECTRON_RUN_AS_NODE`, clear it before running E2E.
0 commit comments