A modern, responsive Task Manager Web Application built with HTML, CSS, JavaScript, Bootstrap, SweetAlert2, and LocalStorage.
Users can create an account, log in, manage personal tasks, set task priorities, mark tasks as completed, edit tasks, delete tasks, and track task statistics through a clean and modern dashboard.
- ๐ User Signup
- ๐ User Login
- ๐ช User Logout
- ๐ง Email duplication checking
- ๐ Password length validation
- ๐พ Login authentication using LocalStorage
- ๐ก๏ธ Protected Task Manager page
- ๐ Automatic redirection for unauthenticated users
- ๐ค Current user display
- โ Add new tasks
- โ๏ธ Edit existing tasks
- ๐๏ธ Delete tasks
- ๐ Search tasks in real time
- ๐งน Automatically restore all tasks when search is cleared
- โ Mark tasks as completed
- ๐ Unmark completed tasks
โ Cross out completed task text- ๐ข Highlight completed tasks
- ๐ฏ Set task priority
- ๐ท๏ธ Display priority badges
Dashboard displays:
- ๐ Total Tasks
- โ Completed Tasks
- โณ Pending Tasks
- ๐ด High Priority Tasks
Statistics update automatically whenever tasks are added, edited, deleted, or completed.
Each user's tasks are stored separately in LocalStorage.
Example:
tasks_mohammad@gmail.com
tasks_ali@gmail.com
This prevents different users from seeing each other's tasks while using the same browser.
- ๐ฑ Responsive design
- ๐ป Mobile-friendly layout
- ๐ Dark gradient background
- ๐ช Glassmorphism cards
- โจ Modern task cards
- ๐ Responsive authentication pages
- ๐งฉ Bootstrap components
- ๐จ SweetAlert2 notifications
- ๐ผ๏ธ SVG action icons
- ๐ข Completed task highlighting
- ๐ HTML5
- ๐จ CSS3
- โก JavaScript
- ๐งฉ Bootstrap 5
- ๐จ SweetAlert2
- ๐พ LocalStorage
- ๐ผ๏ธ SVG Icons
Task-Manager/
โ
โโโ ๐ index.html
โโโ ๐ signup.html
โโโ ๐ login.html
โ
โโโ โก app.js
โโโ ๐ auth.js
โ
โโโ ๐ผ๏ธ logo.png
โ
โโโ ๐ README.md
New users create an account by entering:
- ๐ค Name
- ๐ง Email
- ๐ Password
User information is stored in LocalStorage.
localStorage.setItem(
"users",
JSON.stringify(allUsers)
);After successful signup, user is redirected to Login page.
User enters email and password.
JavaScript checks credentials against registered users.
If credentials are correct, current user is saved:
localStorage.setItem(
"loggedInUser",
JSON.stringify(user)
);User is then redirected to Task Manager.
Task Manager checks whether user is logged in.
const currentUser = JSON.parse(
localStorage.getItem("loggedInUser")
);
if (!currentUser) {
window.location.replace("signup.html");
}If no user is logged in, user cannot access Task Manager directly.
Each user gets separate LocalStorage key:
const TASK_STORAGE_KEY = `tasks_${currentUser.email}`;Tasks are loaded from current user's storage:
let tasks = JSON.parse(
localStorage.getItem(TASK_STORAGE_KEY)
) || [];Tasks are saved using:
localStorage.setItem(
TASK_STORAGE_KEY,
JSON.stringify(tasks)
);This keeps task data separate between users.
Each task contains:
{
id: 123456789,
text: "Complete JavaScript project",
priority: "high",
completed: false
}| Property | Description |
|---|---|
id |
๐ Unique task identifier |
text |
๐ Task name or description |
priority |
๐ฏ Task priority |
completed |
โ Completion status |
The application supports three priority levels:
๐ด High
๐ก Medium
๐ต Low
Each priority has different visual styling.
User enters task name and selects priority.
Task is added to current user's task list.
User checks task checkbox.
Completed task:
- ๐ข Gets highlighted
โ Text gets crossed out- ๐ Completed count increases
- ๐ Pending count decreases
User can edit task text using SweetAlert2.
User can delete task after confirmation.
Users can quickly search for tasks using the search bar.
The search feature:
- ๐ Searches tasks by task name
- โก Updates results while typing
- ๐ค Supports case-insensitive searching
- ๐งน Automatically restores all tasks when search field is cleared
- ๐ Shows matching tasks dynamically
Example:
Search: JavaScript
โ
Only matching tasks displayed
Clear search
โ
All tasks displayed again
---
Example:
LocalStorage
โ
โโโ ๐ฅ users
โ
โโโ ๐ค loggedInUser
โ
โโโ ๐ tasks_mohammad@gmail.com
โ
โโโ ๐ tasks_ali@gmail.com
Stores registered users.
Stores currently logged-in user.
Stores tasks belonging to specific user.
No backend or database setup required.
git clone https://github.com/Wasayullah/Task-Manager.gitcd Task-ManagerOpen signup.html using Live Server or your browser.
Recommended starting page:
signup.html
- ๐ Open
signup.html - ๐ค Create new account
- ๐ Go to Login page
- ๐ง Login with registered credentials
- ๐ Open Task Manager
- โ Add tasks
- ๐ฏ Select task priority
- โ Complete tasks using checkbox
- โ๏ธ Edit tasks when needed
- ๐๏ธ Delete unwanted tasks
- ๐ช Logout when finished
Application works across:
- ๐ป Desktop
- ๐ฅ๏ธ Laptop
- ๐ฑ Mobile
- ๐ Tablet
Bootstrap responsive utilities are used to adapt layouts to different screen sizes.
This project uses LocalStorage for learning and frontend practice.
Passwords are stored in browser LocalStorage, which is not secure for production applications.
For a real-world application, authentication should use:
- ๐ฅ๏ธ Backend server
- ๐ Password hashing
- ๐๏ธ Database
- ๐ก๏ธ Secure sessions or tokens
- ๐ Server-side authorization
- ๐ HTTPS
This project is intended for educational and portfolio purposes.
Possible future features:
- ๐ฅ๏ธ Backend authentication
- ๐๏ธ Database integration
- ๐ค User profile management
- ๐ Forgot password functionality
- ๐๏ธ Password visibility toggle
- ๐ Task due dates
- ๐ท๏ธ Task categories
- ๐ Search tasks
- ๐ฏ Filter tasks by priority
โ๏ธ Sort tasks- ๐ Dark/Light mode
- ๐ฑ๏ธ Drag-and-drop task ordering
- โฐ Task deadlines
- ๐ Notifications
- โ๏ธ Cloud data synchronization
- ๐จโ๐ผ Admin dashboard
This project helped practice:
- ๐ HTML structure
- ๐จ CSS styling
- ๐งฉ Bootstrap
- ๐ฑ Responsive design
- โก JavaScript DOM manipulation
- ๐ฆ JavaScript arrays and objects
- ๐ ๏ธ Functions
- ๐ Array methods
map()filter()find()- ๐พ LocalStorage
- ๐ JSON parsing and stringifying
- ๐ CRUD operations
- ๐ User authentication logic
- ๐ฅ๏ธ Dynamic HTML rendering
- ๐ฑ๏ธ Event handling
- ๐จ SweetAlert2
- ๐ผ๏ธ SVG icons
๐ป Web & App Development Student
Interested in:
- ๐ Web Development
- โก JavaScript
- ๐ฅ๏ธ Backend Development
- ๐ก Programming
- ๐ Software Development
This project is created for educational and portfolio purposes.
You are free to study, modify, and improve the project.
โญ If you found this project useful, consider giving it a star!
๐ Keep Learning. Keep Building. Keep Improving.