Skip to content

sujal1703/Task-Manager-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Enhanced Task Manager

Productivity banner

Authoritative, console-based task manager implemented in Python. This project provides a concise and reliable tool to create, organize, and track tasks with categories, priority levels, due dates and basic analytics. It is intended as a pragmatic utility for individual productivity and small-scale personal task orchestration.


Table of Contents

  • Overview
  • Features
  • Installation
  • Usage
  • Data model
  • Project structure
  • Development notes
  • License & acknowledgments

Overview

The Enhanced Task Manager is a lightweight, command-line application implemented in Python that supports task creation, categorization, priority assignment, due date management and simple reporting. Tasks are persisted locally using JSON, enabling portability and manual inspection of stored data.

Features

  • Create, view, complete and delete tasks
  • Organize tasks into predefined categories (Work, Personal, Study, Shopping, Health, Other)
  • Assign priority (High, Medium, Low) and set due dates via convenient options (Today, Tomorrow, Next Week, Custom)
  • Search tasks by keyword in title or description
  • View tasks by category, priority or due date; generate simple statistics and completion rates
  • Local JSON persistence with basic input validation and error handling

Installation

Prerequisites

  • Python 3.8 or later (installation instructions for Python are not included here)

No external packages are required; the project uses only the Python standard library.

Quick setup (PowerShell)

cd 'D:\cs corner\python\project\task-manager-project'
# Run the application
python .\enhanced-task-manager.py

If you prefer, you may run the script directly from an editor or create a Python virtual environment for isolation; no additional dependencies are necessary.

Usage

When the application starts it presents a numbered menu of operations. Typical workflow:

  1. Add a task: provide title and optional description, choose a category and priority, select due date option.
  2. View tasks: list all tasks or view filtered lists by category/priority/today's tasks.
  3. Mark tasks completed: choose from pending tasks; timestamps are recorded.
  4. Delete tasks: remove tasks permanently from the JSON store.
  5. Inspect statistics: view totals, completion rate and distribution by category/priority.

Menu (numbering corresponds to runtime prompts):

1. View All Tasks
2. Add New Task
3. Mark Task as Completed
4. Delete Task
5. View Tasks by Category
6. View Tasks by Priority
7. View Today's Tasks
8. Search Tasks
9. Task Statistics
10. Exit

Notes

  • Input is read from standard input. Use numeric options when prompted.
  • Task data is saved automatically after modifications.

Data model

Tasks are persisted in a JSON file (default: tasks.json). Each task follows the structure below:

{
   "id": 1,
   "title": "Complete project documentation",
   "description": "Write README and add screenshots",
   "category": "Work",
   "priority": "High",
   "due_date": "2025-12-01",
   "completed": false,
   "created_date": "2025-11-24 12:00:00",
   "completed_date": null
}

Project structure

task-manager-project/
β”œβ”€ enhanced-task-manager.py   # Main application script
β”œβ”€ tasks.json                 # Persisted tasks (created at runtime)
└─ README.md                  # Project documentation

Development notes

  • The code is organized around a single AdvancedTaskManager class that encapsulates application state and behavior.
  • Sorting and filtering are performed in-memory on the task list. For larger datasets, consider using a lightweight database.
  • The script is intentionally dependency-free to keep deployment simple.

Unsplash banner and image credit

Banner photo (above) is provided by Unsplash and is licensed for free use. Photographer: Nik MacMillan β€” source: https://unsplash.com/photos/52xQCi7fI0o

If you incorporate the image in product documentation or website, please follow Unsplash license and attribute the photographer where appropriate.

License & Acknowledgments

This repository is provided for educational and personal use. No license file is included by default; add a license file if you intend to publish or distribute the software under a specific license.

Acknowledgments

  • Inspired by common productivity practices and the Getting Things Done (GTD) methodology.
  • Built using Python standard library utilities for portability and simplicity.

If you would like the README to include examples of a sample session, instructions for running tests, or a different banner image, tell me which content you prefer and I will update it accordingly.

Enhanced-Task-Manager

A sophisticated Python-based task management application designed to help users organize their daily tasks efficiently with categories, priorities, and intelligent due date tracking.

πŸš€ Features

Core Functionality

  • βœ… Task Management - Create, read, update, and delete tasks
  • 🏷️ Categorization - Organize tasks into Work, Personal, Study, Shopping, Health, and Other categories
  • 🎯 Priority Levels - High (πŸ”΄), Medium (🟑), and Low (🟒) priority system
  • πŸ“… Due Date Tracking - Set due dates with smart options (Today, Tomorrow, Next Week)
  • πŸ” Advanced Search - Find tasks by keywords in titles or descriptions

Advanced Features

  • πŸ“Š Statistics Dashboard - Visual insights with completion rates and category distribution
  • πŸ‘€ Multiple Views - View tasks by category, priority, or due date
  • πŸ“ˆ Progress Tracking - Monitor completion rates and task distribution
  • πŸ’Ύ Data Persistence - Automatic JSON storage with error handling
  • 🎨 User-Friendly Interface - Clean console interface with emojis and colors

πŸ“Έ Screenshots

image image image image image image

πŸ› οΈ Installation

Prerequisites

  • Python 3.8 or higher
  • No external dependencies required

Quick Start

  1. Clone the repository

    git clone https://github.com/yourusername/enhanced-task-manager.git
    cd enhanced-task-manager
  2. Run the application

    python advanced_task_manager.py

Alternative Installation

  1. Download the advanced_task_manager.py file
  2. Run directly:
    python advanced_task_manager.py

πŸ“– Usage

Basic Operations

  1. Adding a Task

    • Enter task title and description
    • Select from 6 predefined categories
    • Choose priority level (High/Medium/Low)
    • Set due date using smart options
  2. Managing Tasks

    • Mark tasks as completed with timestamps
    • Delete tasks with confirmation
    • View tasks in multiple organized views
  3. Advanced Features

    • Search across all task fields
    • View statistics and completion rates
    • Filter by category and priority

Menu Options

1. View All Tasks         6. View Tasks by Priority
2. Add New Task           7. View Today's Tasks  
3. Mark Task Completed    8. Search Tasks
4. Delete Task            9. Task Statistics
5. View by Category       10. Exit

πŸ—οΈ Project Structure

enhanced-task-manager/
β”œβ”€β”€ advanced_task_manager.py  # Main application file
β”œβ”€β”€ tasks.json               # Auto-generated data storage
β”œβ”€β”€ screenshots/            # Application screenshots
β”‚   β”œβ”€β”€ main_menu.png
β”‚   β”œβ”€β”€ add_task.png
β”‚   β”œβ”€β”€ categories.png
β”‚   β”œβ”€β”€ priorities.png
β”‚   β”œβ”€β”€ search.png
β”‚   └── statistics.png
β”œβ”€β”€ recordings/             # Screen recordings (if any)
β”‚   └── demo.mp4
└── README.md              # This file

πŸ’» Code Architecture

Class Structure

AdvancedTaskManager
β”œβ”€β”€ __init__() - Initializes task manager and categories
β”œβ”€β”€ load_tasks() - Loads tasks from JSON file
β”œβ”€β”€ save_tasks() - Saves tasks to JSON file
β”œβ”€β”€ display_menu() - Shows main menu interface
β”œβ”€β”€ add_task() - Adds task with enhanced details
β”œβ”€β”€ view_tasks_by_category() - Groups tasks by category
β”œβ”€β”€ view_tasks_by_priority() - Sorts tasks by priority
β”œβ”€β”€ view_todays_tasks() - Shows tasks due today
β”œβ”€β”€ search_tasks() - Keyword-based task search
└── show_statistics() - Displays analytics dashboard

Data Model

{
  "id": 1,
  "title": "Complete project documentation",
  "description": "Write README and add screenshots",
  "category": "Work",
  "priority": "High",
  "due_date": "2024-01-15",
  "completed": false,
  "created_date": "2024-01-10 14:30:00",
  "completed_date": null
}

🎯 Project Guidelines Compliance

This project addresses all required guidelines:

βœ… Real-World Problem Solving

  • Problem: Difficulty in organizing and prioritizing daily tasks
  • Solution: Intuitive task management with categorization and prioritization

βœ… Clear Objectives

  • Create a user-friendly task management system
  • Implement efficient data storage and retrieval
  • Provide multiple viewing and organization options
  • Offer insights through statistics and analytics

βœ… Applied Course Concepts

  • File I/O: JSON data persistence
  • Data Structures: Lists, dictionaries, and sorting algorithms
  • Object-Oriented Programming: Class-based architecture
  • Error Handling: Comprehensive try-except blocks
  • Date/Time Operations: Due date management and timestamps

βœ… Development Process

  1. Problem Definition: Identified need for better task organization
  2. Requirement Analysis: Feature planning and user workflow
  3. Modular Design: Separated concerns into class methods
  4. Implementation: Incremental feature development
  5. Testing: Manual testing of all functionalities
  6. Documentation: Comprehensive README and code comments

πŸ”§ Technical Details

Technologies Used

  • Python 3.8+ - Core programming language
  • JSON - Data storage format
  • datetime - Date and time operations
  • Standard Library - No external dependencies

Key Algorithms

  • Priority Sorting: Custom sorting for task priorities
  • Search Algorithm: Linear search with case-insensitive matching
  • Statistics Calculation: Real-time analytics computation
  • Data Validation: Input sanitization and error checking

πŸ‘¨β€πŸ’» Developer

Your Name

πŸ™ Acknowledgments

  • Inspired by productivity methodologies like GTD (Getting Things Done)
  • Built as part of academic coursework demonstrating software engineering principles
  • Thanks to the Python community for excellent documentation and resources

If you find this project helpful, please give it a ⭐!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages