hoangsonww / hoangsonww/Task-Manager-ReactNative
Feature: Add calendar and agenda planning with standards-based export
- Dominant language
- TypeScript
- Stars
- 32
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
Provide calendar and agenda views for due-dated tasks, including timezone-safe rescheduling and portable calendar export.
## Problem / Opportunity
TaskNexus stores due dates and reports overdue/upcoming counts, but users can only plan from a flat task list. They cannot inspect workload by day or week, spot scheduling clusters, or bring task deadlines into an external calendar.
## Proposed Feature
Add month, week, and agenda views that share the existing task source of truth. Users can open and reschedule tasks from the calendar. Offer standards-based iCalendar export for a selected task or filtered date range, with documented timezone semantics.
## Scope
- Build reusable calendar selectors from validated Task data.
- Add month/week/agenda navigation, today controls, empty/loading/error states, and task detail access.
- Support accessible rescheduling with explicit confirmation and a non-drag alternative.
- Generate valid ICS output with stable identifiers and correct escaping/timezone representation.
- Integrate export through native share flows and browser download.
- Document date/time behavior and add deterministic timezone tests.
## Acceptance Criteria
- [ ] Users can switch among month, week, and agenda views and return to today.
- [ ] Tasks appear on the correct local day and time across iOS, Android, and web.
- [ ] Selecting a calendar item opens the corresponding task workflow.
- [ ] Users can reschedule from the calendar, with an accessible alternative to drag gestures.
- [ ] Realtime edits, completions, and deletions update calendar views without refresh.
- [ ] Users can export one task or a bounded date range as standards-compliant ICS.
- [ ] Exported events include stable UID, summary, due time, completion context, and correct escaping.
- [ ] Daylight-saving transitions and UTC/local conversions have automated test coverage.
- [ ] Empty and dense days remain readable with large text and screen readers.
- [ ] User and contributor documentation explains export and timezone rules.
## Non-Goals
- Two-way Google, Apple, or Microsoft calendar synchronization.
- Meeting scheduling or attendee management.
- Automatic time blocking.
## Dependencies / Risks
- JavaScript Date values and database timestamps require a single documented timezone contract.
- Calendar rendering performance must be tested with dense datasets.
- ICS behavior varies between consuming calendar applications.
## Open Questions
- Should completed tasks remain visible by default?
- Is due time mandatory, optional, or represented as an all-day event?
- Should exports be one-off files or also support a private subscription feed later?
Contributor guide
Assessment
This issue has not been assessed yet.