Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

42 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Task Manager

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.


โœจ Features

๐Ÿ” Authentication

  • ๐Ÿ“ 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

๐Ÿ“‹ Task Management

  • โž• 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

๐Ÿ“Š Task Statistics

Dashboard displays:

  • ๐Ÿ“Œ Total Tasks
  • โœ… Completed Tasks
  • โณ Pending Tasks
  • ๐Ÿ”ด High Priority Tasks

Statistics update automatically whenever tasks are added, edited, deleted, or completed.

๐Ÿ‘ฅ User-Specific Tasks

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.

๐ŸŽจ Modern UI

  • ๐Ÿ“ฑ 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

๐Ÿ› ๏ธ Technologies Used

  • ๐ŸŒ HTML5
  • ๐ŸŽจ CSS3
  • โšก JavaScript
  • ๐Ÿงฉ Bootstrap 5
  • ๐Ÿšจ SweetAlert2
  • ๐Ÿ’พ LocalStorage
  • ๐Ÿ–ผ๏ธ SVG Icons

๐Ÿ“ Project Structure

Task-Manager/
โ”‚
โ”œโ”€โ”€ ๐Ÿ“„ index.html
โ”œโ”€โ”€ ๐Ÿ“ signup.html
โ”œโ”€โ”€ ๐Ÿ”‘ login.html
โ”‚
โ”œโ”€โ”€ โšก app.js
โ”œโ”€โ”€ ๐Ÿ” auth.js
โ”‚
โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ logo.png
โ”‚
โ””โ”€โ”€ ๐Ÿ“– README.md

โš™๏ธ How It Works

1๏ธโƒฃ Signup

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.


2๏ธโƒฃ Login

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.


3๏ธโƒฃ Authentication Protection

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.


4๏ธโƒฃ User-Specific Tasks

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.


๐Ÿ“ Task Object

Each task contains:

{
    id: 123456789,
    text: "Complete JavaScript project",
    priority: "high",
    completed: false
}

๐Ÿ”น Properties

Property Description
id ๐Ÿ†” Unique task identifier
text ๐Ÿ“ Task name or description
priority ๐ŸŽฏ Task priority
completed โœ… Completion status

๐ŸŽฏ Priority Levels

The application supports three priority levels:

๐Ÿ”ด High
๐ŸŸก Medium
๐Ÿ”ต Low

Each priority has different visual styling.


๐Ÿงฐ Task Actions

โž• Add Task

User enters task name and selects priority.

Task is added to current user's task list.

โœ… Complete Task

User checks task checkbox.

Completed task:

  • ๐ŸŸข Gets highlighted
  • โŒ Text gets crossed out
  • ๐Ÿ“ˆ Completed count increases
  • ๐Ÿ“‰ Pending count decreases

โœ๏ธ Edit Task

User can edit task text using SweetAlert2.

๐Ÿ—‘๏ธ Delete Task

User can delete task after confirmation.

๐Ÿ”Ž Task Search

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
---

๐Ÿ’พ LocalStorage Structure

Example:

LocalStorage
โ”‚
โ”œโ”€โ”€ ๐Ÿ‘ฅ users
โ”‚
โ”œโ”€โ”€ ๐Ÿ‘ค loggedInUser
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‹ tasks_mohammad@gmail.com
โ”‚
โ””โ”€โ”€ ๐Ÿ“‹ tasks_ali@gmail.com

๐Ÿ‘ฅ users

Stores registered users.

๐Ÿ‘ค loggedInUser

Stores currently logged-in user.

๐Ÿ“‹ tasks_user@email.com

Stores tasks belonging to specific user.


๐Ÿš€ Installation

No backend or database setup required.

1๏ธโƒฃ Clone Repository

git clone https://github.com/Wasayullah/Task-Manager.git

2๏ธโƒฃ Open Project Folder

cd Task-Manager

3๏ธโƒฃ Run Project

Open signup.html using Live Server or your browser.

Recommended starting page:

signup.html

๐ŸŽฎ Usage

  1. ๐Ÿ“ Open signup.html
  2. ๐Ÿ‘ค Create new account
  3. ๐Ÿ”‘ Go to Login page
  4. ๐Ÿ“ง Login with registered credentials
  5. ๐Ÿ“‹ Open Task Manager
  6. โž• Add tasks
  7. ๐ŸŽฏ Select task priority
  8. โœ… Complete tasks using checkbox
  9. โœ๏ธ Edit tasks when needed
  10. ๐Ÿ—‘๏ธ Delete unwanted tasks
  11. ๐Ÿšช Logout when finished

๐Ÿ“ฑ Responsive Design

Application works across:

  • ๐Ÿ’ป Desktop
  • ๐Ÿ–ฅ๏ธ Laptop
  • ๐Ÿ“ฑ Mobile
  • ๐Ÿ“Ÿ Tablet

Bootstrap responsive utilities are used to adapt layouts to different screen sizes.


โš ๏ธ Important Note

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.


๐Ÿ”ฎ Future Improvements

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

๐ŸŽ“ Learning Goals

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

๐Ÿ‘จโ€๐Ÿ’ป Author

๐Ÿ’ป Web & App Development Student

Interested in:

  • ๐ŸŒ Web Development
  • โšก JavaScript
  • ๐Ÿ–ฅ๏ธ Backend Development
  • ๐Ÿ’ก Programming
  • ๐Ÿš€ Software Development

๐Ÿ“œ License

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.

About

Modern responsive Task Manager with user authentication, user-specific LocalStorage, task priorities, CRUD operations, statistics, and dark glassmorphism UI.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages