hoangsonww / hoangsonww/Task-Manager-ReactNative

Feature: Add calendar and agenda planning with standards-based export

Open
#12 0 comments 0 reactions 1 assignee Claimed by @hoangsonww View on GitHub
accessibility bug documentation enhancement good first issue help wanted question
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.