Skip to content

itisrajeevsingh/dynamic-list-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📋 Dynamic List Manager

A modern Dynamic List Manager built using HTML, CSS, and Vanilla JavaScript featuring full CRUD functionality, task filtering, completion tracking, scrollable task container, and localStorage persistence.


📌 Project Overview

The Dynamic List Manager is a responsive task management application that demonstrates real-world frontend development concepts such as state management, DOM manipulation, conditional rendering, and client-side persistence.

The application allows users to efficiently manage tasks with interactive filtering and completion tracking.


🚀 Features

Feature Description
➕ Add Task Create new tasks dynamically
✏️ Edit Task Update existing tasks
❌ Delete Task Remove tasks from the list
✅ Mark Complete Toggle completion status using checkbox
🔎 Filter Tasks View All, Active, or Completed tasks
📜 Scrollable List Prevents container from expanding infinitely
💾 localStorage Data persists after page refresh
📱 Responsive Design Works across desktop and mobile screens

🛠 Tech Stack

Technology Purpose
HTML5 Structure & Semantic Layout
CSS3 Modern Gradient UI, Scroll Styling, Flexbox
JavaScript CRUD Logic, Filtering, State Management
localStorage Client-side Data Persistence

🧠 Key Concepts Demonstrated

  • Managing application state using arrays
  • Unique ID generation using Date.now()
  • Using .map() and .filter() for updates and filtering
  • Conditional rendering based on active filters
  • Handling UI state reset during edit/delete
  • Scrollable UI container with fixed height
  • Persistent storage using JSON.stringify() and JSON.parse()

📸 Screenshots

🖥 Desktop View

Desktop View


📱 Mobile View

Mobile View


dynamic-list-manager/ │ ├── index.html ├── style.css ├── script.js └── output/ ├── dynamic-list-desktop.png ├── dynamic-list-mobile.png


🎤 Interview Talking Points

What is CRUD?

CRUD stands for Create, Read, Update, and Delete — the four essential operations of data management.

How is state managed?

Tasks are stored in a JavaScript array. After every modification, the UI is re-rendered using a dedicated render function.

How does filtering work?

Filtering is implemented using the .filter() method to display tasks based on completion status.

How do you prevent UI inconsistency during edit/delete?

If a task being edited is deleted, the edit state is reset to avoid stale state.

How does persistence work?

Tasks are stored in localStorage using JSON.stringify() and retrieved using JSON.parse() when the page loads.


🔮 Possible Improvements

  • Add task counter (Active / Completed count)
  • Add “Clear Completed” button
  • Add drag-and-drop sorting
  • Add due dates
  • Add dark mode toggle
  • Convert into React component architecture
  • Connect to backend API

👨‍💻 Author

Rajeev Ranjan Singh
Frontend Developer


⭐ If you found this project useful, consider giving it a star.

🏗 Project Structure

About

Modern Dynamic List Manager built with HTML, CSS, and JavaScript featuring full CRUD operations, task filtering, completion tracking, scrollable UI container, and local Storage persistence.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors