Skip to content

Commit f4f7c51

Browse files
committed
docs: update README with new features and tech
- Document priority/tags, filter & sort, and drag-and-drop in Key Features - Add priority, tags, order to Database Structure - Mention new logic and HTML5 Drag and Drop in Used Technologies
1 parent cb34e5f commit f4f7c51

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

README.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
## TaskWave – Installable Task Management Web-App
22

3-
TaskWave is a modern, installable task management web app that helps users stay organized and productive — even without an internet connection.
3+
TaskWave is a modern, installable task management web app that helps users stay organized and productive — even offline.
44

5-
Users can create and schedule tasks, track progress, receive overdue reminders, and monitor weekly achievements through a clean and intuitive interface.
5+
Users can create and schedule tasks, assign priority levels (Low / Medium / High), add tags, and reorder tasks via drag-and-drop with persistent storage in IndexedDB. Advanced filtering and sorting by status, priority, and tag ensure efficient task management.
66

7-
Designed for both desktop and mobile, TaskWave delivers a smooth, reliable, app-like experience with smart filtering, real-time updates, optional notifications, and dark/light themes.
7+
Built as a Progressive Web App (PWA), TaskWave delivers a fast, responsive, app-like experience with real-time updates, overdue reminders, weekly progress tracking, optional notifications, and customizable dark/light themes.
88

99
---
1010

@@ -24,13 +24,14 @@ Designed for both desktop and mobile, TaskWave delivers a smooth, reliable, app-
2424
- **Font Awesome**: Delivers scalable icons for actions like add, complete, delete, toggle, and install, enhancing visual clarity.
2525

2626
### Logic & State Management
27-
- **JavaScript (ES Modules)**: Handles all client-side logic including task CRUD operations, filters, timers, theming, notifications, and animations in a modular structure (`app.js`, `filters.js`, `animations.js`, `pushNotificationsHandler.js`, `databaseManager.js`).
27+
- **JavaScript (ES Modules)**: Handles all client-side logic including task CRUD operations, priority/tags, filtering and sorting (by status, priority, tag), drag-and-drop reordering, timers, theming, notifications, and animations in a modular structure (`app.js`, `filters.js`, `animations.js`, `pushNotificationsHandler.js`, `databaseManager.js`).
2828
- **IndexedDB (`idb` wrapper)**: Stores tasks locally in a persistent object store, enabling offline functionality and data retention across sessions.
2929
- **localStorage**: Saves user preferences such as theme (dark/light) and notification settings.
3030

3131
### PWA & Browser APIs
3232
- **Service Worker (PWA)**: Caches assets, serves offline and 404 pages, and implements a network-first with cache-fallback strategy for robust performance.
3333
- **Notifications API**: Sends optional browser notifications for overdue tasks, respecting user permissions.
34+
- **HTML5 Drag and Drop API**: Powers manual task reordering via a grip handle; drag events and `DataTransfer` persist the new order to IndexedDB.
3435
- **IntersectionObserver API**: Enables smooth scroll-reveal animations when elements enter the viewport.
3536

3637
### Hosting
@@ -42,6 +43,9 @@ Designed for both desktop and mobile, TaskWave delivers a smooth, reliable, app-
4243
## ✨ Key Features
4344

4445
- **Task Creation & Scheduling**: Quickly add tasks with optional descriptions and flexible scheduling options.
46+
- **Priority & Tags**: Set task **priority** (Low / Medium / High) and optional **tags** (e.g. Work, Personal) via an expandable “additional options” section; tasks display priority and tag badges in the list.
47+
- **Filter & Sort by Priority / Tag**: Use advanced filters (toggle below the status pills) to filter by priority or by tag (text match), and sort by **Priority (High → Low)** or default order.
48+
- **Drag-and-Drop Reordering**: Reorder tasks manually by dragging the **grip handle** on the left of each task; order is persisted in IndexedDB and respected when loading and filtering.
4549
- **Status Management**: Automatically track tasks as **pending**, **completed**, or **overdue**, with clear visual indicators.
4650
- **Smart Filters**: Instantly sort tasks by **All**, **Pending**, **Completed**, or **Overdue** to focus on what matters most.
4751
- **Live Counters & Weekly Insights**: Real-time badges display total, pending, completed, and overdue tasks, alongside a “tasks completed this week” metric.
@@ -90,7 +94,7 @@ Designed for both desktop and mobile, TaskWave delivers a smooth, reliable, app-
9094

9195
- **Storage**: IndexedDB (`todoListDB_iti`, version `2`)
9296
- Store: `tasks` (keyPath: `id`)
93-
- Main fields: `id`, `title`, `description?`, `endTime?`, `status` (`pending | completed | overdue`), `completedAt?`.
97+
- Main fields: `id`, `title`, `description?`, `endTime?`, `status` (`pending | completed | overdue`), `completedAt?`, `priority?` (Low | Medium | High), `tags?` (array of strings), `order?` (number, for drag-and-drop ordering).
9498
- **Preferences**: `localStorage` (`theme`, `notificationsEnabled`)
9599
- **Backend**: None required – all data stays in the browser.
96100

0 commit comments

Comments
 (0)