hoangsonww / hoangsonww/Task-Manager-ReactNative
Feature: Provide versioned task backup, export, and safe import
- Dominant language
- TypeScript
- Stars
- 32
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
Give users portable backups and a recoverable import workflow for their task data and supported metadata.
## Problem / Opportunity
Supabase persistence and realtime sync do not replace user-controlled portability. There is currently no documented way to back up an account, move data between environments, inspect it outside TaskNexus, or recover from an accidental large-scale change.
## Proposed Feature
Add versioned JSON backup and human-readable CSV export, plus a guarded import workflow with validation, preview, conflict handling, and a clear result report. Exports must respect ownership and avoid including authentication secrets.
## Scope
- Define and document a versioned export schema for tasks and supported related metadata.
- Create authenticated export services and native/web file delivery.
- Add import parsing, schema validation, preview counts, merge/replace decisions, duplicate detection, and failure reporting.
- Ensure imports preserve ownership, normalize dates, and coordinate with realtime state.
- Add representative fixtures and migration tests across export versions.
## Acceptance Criteria
- [ ] Users can export their data as versioned JSON and task rows as documented CSV.
- [ ] Export includes supported task fields and metadata but never tokens, passwords, or another user's records.
- [ ] Users can select an import file and see a validation preview before any mutation.
- [ ] Invalid rows identify actionable errors without partially corrupting valid existing data.
- [ ] Duplicate/conflict behavior is explicit for stable IDs, matching content, and newer timestamps.
- [ ] Replace mode requires strong confirmation and offers a documented recovery path.
- [ ] A completed import reports created, updated, skipped, and failed counts.
- [ ] Large imports remain responsive and do not trigger a realtime event storm in the UI.
- [ ] Round-trip tests demonstrate that a supported JSON export can be re-imported without semantic data loss.
- [ ] Documentation covers schema versions, limits, privacy, and troubleshooting.
## Non-Goals
- Importing arbitrary proprietary task-manager formats in the first release.
- Scheduled cloud backups to third-party storage.
- Exporting Supabase authentication credentials.
## Dependencies / Risks
- Future projects, tags, subtasks, or collaboration data need forward-compatible schema evolution.
- Replace imports are destructive and require transaction/rollback planning.
- Platform file pickers and sharing APIs differ across native and web.
## Open Questions
- Should the first version support merge only, or both merge and replace?
- How long should legacy export versions remain importable?
- Should deleted/archived records be included in backups?
Contributor guide
Assessment
This issue has not been assessed yet.