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
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.
- 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
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.pyIf you prefer, you may run the script directly from an editor or create a Python virtual environment for isolation; no additional dependencies are necessary.
When the application starts it presents a numbered menu of operations. Typical workflow:
- Add a task: provide title and optional description, choose a category and priority, select due date option.
- View tasks: list all tasks or view filtered lists by category/priority/today's tasks.
- Mark tasks completed: choose from pending tasks; timestamps are recorded.
- Delete tasks: remove tasks permanently from the JSON store.
- 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.
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
}task-manager-project/
ββ enhanced-task-manager.py # Main application script
ββ tasks.json # Persisted tasks (created at runtime)
ββ README.md # Project documentation
- The code is organized around a single
AdvancedTaskManagerclass 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.
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.
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.
A sophisticated Python-based task management application designed to help users organize their daily tasks efficiently with categories, priorities, and intelligent due date tracking.
- β 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
- π 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
- Python 3.8 or higher
- No external dependencies required
-
Clone the repository
git clone https://github.com/yourusername/enhanced-task-manager.git cd enhanced-task-manager -
Run the application
python advanced_task_manager.py
- Download the
advanced_task_manager.pyfile - Run directly:
python advanced_task_manager.py
-
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
-
Managing Tasks
- Mark tasks as completed with timestamps
- Delete tasks with confirmation
- View tasks in multiple organized views
-
Advanced Features
- Search across all task fields
- View statistics and completion rates
- Filter by category and priority
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
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
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{
"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
}This project addresses all required guidelines:
- Problem: Difficulty in organizing and prioritizing daily tasks
- Solution: Intuitive task management with categorization and prioritization
- 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
- 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
- Problem Definition: Identified need for better task organization
- Requirement Analysis: Feature planning and user workflow
- Modular Design: Separated concerns into class methods
- Implementation: Incremental feature development
- Testing: Manual testing of all functionalities
- Documentation: Comprehensive README and code comments
- Python 3.8+ - Core programming language
- JSON - Data storage format
- datetime - Date and time operations
- Standard Library - No external dependencies
- 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
Your Name
- GitHub: @sujal1703
- Email: sujal.25bcy10169@vitbhopal.ac.in
- 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 β!