Skip to content

JEEVA-SARAVANAN/CodTech-Task1-ToDoListApplication

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CodTech-Task1-ToDoListApplication

Myself S.Jeeva,I have completed my FrontEnd Web development Internship in CodTech It Solutions Pvt.Ltd.

Name: JEEVA S
Company: CODTECH IT SOLUTIONS PVT.LTD
ID: CT08DS8705
Domain: FRONTEND WEB DEVELOPMENT
Duration: September 30th,2024 to October 30th,2024

OVERVIEW OF THE PROJECT

Screenshot (286)

PROJECT: TO-DO LIST APPLICATION WITH LOCAL STORAGE

This to-do list project is a simple web application that allows users to manage tasks with full CRUD (Create, Read, Update, Delete) functionality, and it uses the browser's local storage to persist data across sessions. Here’s a high-level overview of each component and how they work together:

Project Overview

Purpose:
This application helps users manage a list of tasks. Each task can be added, edited, or deleted. Using local storage ensures that tasks remain available even if the user closes the browser or refreshes the page.

Technologies Used:
*HTML: Defines the structure of the app interface, including input fields, buttons, and the task list display area.
*CSS: Adds basic styling to improve the user interface.
*JavaScript: Implements the logic for task management, handling user interactions and CRUD operations.

Features:
*Add task: Users can enter a new task in the input field and add it to the list. The task is saved in local storage.
*Display Tasks: Upon loading the app, all tasks saved in local storage are displayed.
*Edit Task: Users can edit an existing task by clicking the edit button, which updates the task in both the DOM and local storage.
*Delete Task: Users can delete a task, which removes it from the DOM and from local storage.

Components and Functions: HTML Elements:
*Input Field: Collects new task details.
*Add Button: Adds the new task to the list.
*Task List (ul): Displays tasks with options to edit or delete each item.

JavaScript Functions:
*loadTasks(): Runs when the page loads to fetch tasks from local storage and display them.
*addTask(): Adds a new task to the list and local storage.
*addTaskToDOM(): Renders tasks in the DOM.
*editTask(): Allows users to update the task text and save changes in local storage.
*deleteTask(): Deletes the task from both the DOM and local storage.

Data Persistence:
*Local Storage: Tasks are stored in the browser’s local storage as a JSON object. This allows the task list to persist between browser sessions, so users can close the app and come back to see their saved tasks.

User Flow
*Adding a Task: User types a task in the input field, clicks "Add Task," and the task is added to the list and saved in local storage.
*Editing a Task: User clicks the "Edit" button next to a task, enters new text, and confirms. The text is updated in both the DOM and local storage.
*Deleting a Task: User clicks "Delete" next to a task, removing it from the DOM and local storage.

Advantages and Future Improvements
Advantages:
*Simple, responsive, and user-friendly.
*Stores tasks persistently in local storage without requiring a database.
*Fully functional CRUD operations for task management.

Potential Enhancements:
*Prioritization: Allow users to set priorities (e.g., high, medium, low) for tasks.
*Completion Status: Add a checkbox to mark tasks as completed.
*Due Dates: Let users assign due dates to tasks and sort based on priority or date.
*Styling: Additional styling improvements for a more modern or customized look.
*Filter/Search: Add the ability to filter tasks based on status or search by text.

This to-do list project demonstrates a simple task management app using HTML, CSS, and JavaScript, with data persistence through local storage. It supports full CRUD operations (Create, Read, Update, Delete) for tasks, allowing users to add, edit, and delete tasks while retaining them across sessions.

Key Takeaways:
*Local Storage enables session-independent data persistence without backend support.
*JavaScript and DOM Manipulation provide interactive functionality for managing tasks in real-time.

This project is a practical foundation in web development and can be expanded with advanced features like prioritization, sorting, and filtering for a more comprehensive task manager.