hoangsonww / hoangsonww/Task-Manager-ReactNative

Feature: Organize tasks with projects, tags, and priority

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

Introduce first-class projects, reusable tags, and priority so users can organize tasks beyond color and completion state.

## Problem / Opportunity

Tasks currently carry text, color, due date, and completion state. Color alone cannot express separate concepts such as area of responsibility, topic, and urgency, which limits planning and makes future search, reporting, and collaboration harder to model consistently.

## Proposed Feature

Add user-owned projects, many-to-many tags, and a defined priority field. Extend task creation/editing, home rendering, filtering, realtime state, and statistics so the new metadata behaves consistently across platforms.

## Scope

- Add Supabase tables/columns, indexes, foreign keys, and RLS for projects, tags, and task-tag relationships.
- Define migration behavior for every existing task.
- Extend the validated database schema and in-app Task types in the task context.
- Add project/tag management and accessible selectors in task add/edit flows.
- Display metadata without making compact task rows unreadable.
- Support filtering and grouping by project, tag, and priority.
- Document data rules and contributor migration steps.

## Acceptance Criteria

- [ ] Users can create, rename, archive, and restore projects without losing their tasks.
- [ ] Users can create reusable tags and attach multiple tags to a task.
- [ ] Each task supports a documented priority set and a safe default for legacy rows.
- [ ] Project, tag, and priority changes synchronize in realtime across signed-in clients.
- [ ] RLS prevents users from reading or attaching another user's organizational metadata.
- [ ] Deleting or archiving metadata has explicit, tested behavior for linked tasks.
- [ ] Add/edit modals and task rows remain usable with large text settings and screen readers.
- [ ] Home and Stats can filter or group using the new metadata.
- [ ] Schema migration, rollback considerations, and user-facing behavior are documented.
- [ ] Tests cover legacy migration, CRUD, relationship integrity, realtime updates, and RLS assumptions.

## Non-Goals

- Team-owned projects or role-based sharing.
- Nested project hierarchies.
- Automated priority recommendations.

## Dependencies / Risks

- Many-to-many tag updates can produce transient realtime states unless mutations and subscriptions are coordinated.
- Project archival semantics must avoid accidental task deletion.
- UI density must be validated on small devices and web.

## Open Questions

- Should a task be allowed to exist outside a project?
- Should tag names be unique case-insensitively per user?
- Is priority a fixed enum or a user-configurable scale?

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.