Skip to content

Commit 4e48578

Browse files
committed
updated README + added meta tags & open graphs to enhance the SEO
1 parent c18babe commit 4e48578

63 files changed

Lines changed: 62470 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"liveServer.settings.port": 5504
3+
}

README.md

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
## TaskWave – Installable Task Management Web-App
2+
3+
TaskWave is a modern, installable task management web app that helps users stay organized and productive — even without an internet connection.
4+
5+
Users can create and schedule tasks, track progress, receive overdue reminders, and monitor weekly achievements through a clean and intuitive interface.
6+
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.
8+
9+
---
10+
11+
## 🌐 Live Preview
12+
13+
- 👀 **Watch Live Demo**: [https://ahmed-maher77.github.io/TaskWave-Installable-Web-based-Task-Manager/](https://ahmed-maher77.github.io/TaskWave-Installable-Web-based-Task-Manager/)
14+
<!-- - 🎥 **Demo Video**: [Watch the Demo on LinkedIn]() -->
15+
16+
---
17+
18+
## 💻 Used Technologies
19+
20+
### UI & Layout
21+
- **HTML5**: Provides semantic structure for forms, task lists, and content sections, ensuring accessibility and SEO-friendly markup.
22+
- **CSS3 / Custom Styles**: Implements responsive layouts, theming, and smooth animations using modern CSS features.
23+
- **Bootstrap 5.3**: Accelerates UI development with a responsive grid, utility classes, and pre-styled components.
24+
- **Font Awesome**: Delivers scalable icons for actions like add, complete, delete, toggle, and install, enhancing visual clarity.
25+
26+
### 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`).
28+
- **IndexedDB (`idb` wrapper)**: Stores tasks locally in a persistent object store, enabling offline functionality and data retention across sessions.
29+
- **localStorage**: Saves user preferences such as theme (dark/light) and notification settings.
30+
31+
### PWA & Browser APIs
32+
- **Service Worker (PWA)**: Caches assets, serves offline and 404 pages, and implements a network-first with cache-fallback strategy for robust performance.
33+
- **Notifications API**: Sends optional browser notifications for overdue tasks, respecting user permissions.
34+
- **IntersectionObserver API**: Enables smooth scroll-reveal animations when elements enter the viewport.
35+
36+
### Hosting
37+
> **Frontend Hosting**: GitHub Pages (static hosting for the PWA).
38+
39+
40+
---
41+
42+
## ✨ Key Features
43+
44+
- **Task Creation & Scheduling**: Quickly add tasks with optional descriptions and flexible scheduling options.
45+
- **Status Management**: Automatically track tasks as **pending**, **completed**, or **overdue**, with clear visual indicators.
46+
- **Smart Filters**: Instantly sort tasks by **All**, **Pending**, **Completed**, or **Overdue** to focus on what matters most.
47+
- **Live Counters & Weekly Insights**: Real-time badges display total, pending, completed, and overdue tasks, alongside a “tasks completed this week” metric.
48+
- **Overdue Detection & Timers**: Tasks are automatically marked as overdue when deadlines pass, even while the app is open.
49+
- **Optional Notifications**: Enable native browser notifications for overdue tasks, respecting user preferences.
50+
- **Light & Dark Themes**: Seamlessly switch between light and dark modes, with preferences saved for future sessions.
51+
- **Responsive & Mobile-Friendly UI**: Optimized layouts for desktop and mobile devices, including scrollable filters on smaller screens.
52+
- **Installable PWA**: Native-like experience with a custom “Install” button and `beforeinstallprompt` support.
53+
- **Offline & 404 Support**: Custom offline and error pages served when the network is unavailable or routes are invalid.
54+
- **Scroll-Reveal Animations**: Smooth animations reveal content and tasks as users scroll, enhancing engagement.
55+
- **Accessibility Enhancements**: Fully keyboard-navigable controls with proper ARIA labels and states for an inclusive experience.
56+
57+
---
58+
59+
## 📸 Website Preview
60+
61+
<a href="https://ahmed-maher77.github.io/TaskWave-Installable-Web-based-Task-Manager/" title="demo">
62+
<img src="uploaded-img-on-github-readme" alt="website preview - Demo - UI Mockup" width="400">
63+
</a>
64+
65+
---
66+
67+
## 📁 Project Structure
68+
69+
```text
70+
.
71+
├─ index.html # Main entry: form, task list, install/theme controls
72+
├─ style.css # Global styles, theming, responsive layout, animations
73+
├─ manifest.json # PWA manifest: name, icons, display mode, colors
74+
├─ service-worker.js # Caching, offline/404 support, notification handling
75+
├─ js/
76+
│ ├─ app.js # Core logic: UI interactions, timers, status updates
77+
│ ├─ databaseManager.js # IndexedDB CRUD operations via idb
78+
│ ├─ filters.js # Task filtering and counters
79+
│ ├─ animations.js # Scroll-reveal animations
80+
│ ├─ pushNotificationsHandler.js # Notification permissions and triggers
81+
│ └─ packages/ # Local third-party libraries (e.g., idb)
82+
├─ pages/
83+
│ ├─ offline.html # Custom offline page
84+
│ └─ 404.html # Custom 404 page
85+
└─ images/ # Logos, icons, screenshots, and mockups
86+
```
87+
88+
---
89+
90+
## 🗄 Database Structure
91+
92+
- **Storage**: IndexedDB (`todoListDB_iti`, version `2`)
93+
- Store: `tasks` (keyPath: `id`)
94+
- Main fields: `id`, `title`, `description?`, `endTime?`, `status` (`pending | completed | overdue`), `completedAt?`.
95+
- **Preferences**: `localStorage` (`theme`, `notificationsEnabled`)
96+
- **Backend**: None required – all data stays in the browser.
97+
98+
99+
---
100+
101+
## 📬 Contact & Contribution
102+
- 🧑‍💻 **Portfolio:** <a href="https://ahmedmaher-portfolio.vercel.app/" title="See My Portfolio">https://ahmedmaher-portfolio.vercel.app/</a>
103+
- 🔗 **LinkedIn:** <a href="https://www.linkedin.com/in/ahmed-maher-algohary" title="Contact via LinkedIn">https://www.linkedin.com/in/ahmed-maher-algohary</a>
104+
- 📧 **Email:** <a href="mailto:ahmedmaher.dev1@gmail.com" title="Contact via Email">ahmedmaher.dev1@gmail.com</a>
105+
106+
> Contributions, suggestions, and bug reports are welcome. Feel free to open issues or pull requests.
107+
108+
---
109+
110+
## ⭐ Support
111+
112+
If you found this project helpful or inspiring, please consider giving it a ⭐. Your support helps me grow and share more open-source projects like this!

images/icon512_maskable.png

36.6 KB
Loading

images/icon512_rounded.png

46.2 KB
Loading

images/logo.png

27.5 KB
Loading

images/screenshots/desktop.png

57.2 KB
Loading

images/screenshots/mobile.png

30.5 KB
Loading

0 commit comments

Comments
 (0)