Skip to content

I made use of linked lists and templates to implement the data structures that are commonly used in task managing systems

License

Notifications You must be signed in to change notification settings

TebogoYungMercykay/Simple-Task-Manager-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Task Management System

A simple task management system built with C++98, featuring a modular design and multiple data structures for efficient task handling.


Features

  • Task Creation
    Users can create new tasks with title, description, due date, and priority.
  • Task Prioritization
    Assign and update task priorities (e.g., High, Medium, Low).
  • Task Scheduling
    Schedule tasks for specific dates or recurring intervals.
  • Task Tracking
    Monitor task status: Pending, In Progress, Completed, Overdue.
  • Task Filtering & Sorting
    Filter and sort tasks by priority, due date, or status.
  • Task Delegation
    Assign tasks to different users for team collaboration.
  • Notifications
    Receive alerts for upcoming, overdue, or updated tasks.
  • Task History
    View completed tasks and undo/redo actions.
  • Weekly & To-Do Lists
    Organize tasks into weekly plans and daily to-do lists.

Data Structures Used

  • Circular & Doubly Linked Lists
    Store and traverse tasks efficiently. Used for main task list and history tracking.
  • Queue
    Manage task execution order (e.g., for notifications or reminders).
  • Stack
    Track completed tasks for undo/redo functionality.

Project Structure

src/
├── history.cpp & history.h      # Task history (stack)
├── list.cpp & list.h            # Linked list implementation
├── main.cpp                     # Entry point, menu, and UI
├── manager.cpp & manager.h      # Task manager logic
├── priority.cpp & priority.h    # Priority queue logic
├── task.cpp & task.h            # Task class definition
├── todo.cpp & todo.h            # To-Do list logic
├── weekly.cpp & weekly.h        # Weekly schedule logic
├── tasks.txt                    # Persistent storage for tasks
└── makefile                     # Build instructions

Getting Started

  • Prerequisites
    C++98 compatible compiler (e.g., g++).
  • Installation
    Clone the repository and navigate to the project directory:
    git clone https://github.com/TebogoYungMercykay/Simple-Task-Manager-System.git
    cd Simple-Task-Manager-System
    
  • Build & Run
    Compile and start the application:
    make clean && make
    make run
    
  • Usage
    Follow the interactive menu to:
    • Add, edit, or delete tasks
    • View all, pending, or completed tasks
    • Assign priorities and due dates
    • Mark tasks as complete or undo completions
    • Filter and sort tasks

Example Menu Options

  • Add New Task
  • View All Tasks
  • View Tasks by Priority
  • Mark Task as Completed
  • Undo Last Completed Task
  • View Weekly Schedule
  • Save & Exit

Contributing

  • Fork the repository
  • Create a new branch for your feature or bug fix
  • Implement your changes and ensure they pass all tests
  • Submit a pull request with a detailed description

License

This project is licensed under the MIT License.


About

I made use of linked lists and templates to implement the data structures that are commonly used in task managing systems

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published