hoangsonww / hoangsonww/Task-Manager-ReactNative

Feature: Provide versioned task backup, export, and safe import

Open
#13 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

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

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.