1.6 KiB
1.6 KiB
Calendula — Requirements
See full design spec: docs/superpowers/specs/2026-06-08-calendar-app-design.md
V1 Scope (Variant "B")
Validated (shipped)
- Foundation & CI infrastructure — v0.1.0 (2026-06-08)
Active (V1)
- Foundation & CI infrastructure
- Data Layer over
CalendarContract - Permission flow (
READ_CALENDAR) - Month view (S1)
- Week view (S2)
- Day view (S3)
- Event Detail Sheet (S4)
- Multi-Calendar Filter (M3)
- Today button + Jump-to-Date (M2)
- View-Switcher (M1)
- Settings screen (M4)
- Empty / no-permission / no-calendars states
- German + English localization
- Loading/Failure/Success states per screen (architectural pattern)
Out of Scope (V2+)
- Event create / edit / delete (V2)
- Home-screen widget
- Full-text search
- Quick-add
- Custom notifications/reminders (system already handles these)
- Tablet/foldable-specific layouts
- iOS support (Android-only by design)
Constraints
- Tech stack: Kotlin + Jetpack Compose + Material 3 Expressive, Hilt, DataStore
- Tech stack pin: Hilt 2.59.2 + KSP 2.3.9; Kotlin 2.3.21 (KSP for Kotlin 2.4.0 not released yet). Material 3 pinned to
1.5.0-alpha21(Expressive APIs only exist in alpha). Re-evaluate when KSP/Material3 stable land. - Platform: Android 10+ (API 29 minimum), Android 16 (API 36) target
- Offline-first: all data lives in
CalendarContract; no app-side network - Privacy: zero telemetry, no analytics
- i18n: German + English from day one
- Tests + CI from day one
- License: MIT