تفاصيل العمل

?️ Mini Task Manager

A full-featured Task Management System built with pure Bash scripting. Manage your daily tasks directly from the terminal with an interactive menu, full CRUD operations, search, and reports.

? Project Overview

This project was built as part of a Bash Scripting course assignment. It allows users to create, view, update, delete, and report on tasks — all stored locally in a plain text file.

✨ Features

Core (CRUD)

Add Task — Enter a title, priority, and due date; the system auto-generates a unique ID and sets status to pending

List Tasks — Display all tasks in a clean, formatted table

Update Task — Modify any field of an existing task by ID

Delete Task — Remove a task by ID with a confirmation prompt

Search — Search tasks by keyword in the title field

Reports

Task Summary — Count of tasks per status (pending, in-progress, done)

Overdue Tasks — Lists all non-done tasks whose due date has already passed

Priority Report — Tasks grouped and displayed by priority level (high, medium, low)

Bonus

? Colored terminal output using ANSI escape codes

? Getting Started

Prerequisites

A Unix/Linux environment (or Git Bash / WSL on Windows)

Bash 4+

Run the Script

bash task_final.sh

?️ Data Storage

All tasks are stored in tasks.txt in the same directory as the script. Each line represents one task with fields separated by |:

ID|Title|Priority|Due Date|Status

Example:

1|Fix login bug|high|2025-06-01|in-progress

2|Write unit tests|medium|2025-06-10|pending

3|Deploy to staging|low|2025-05-20|done

The file is created automatically on first run if it doesn't exist.

?️ Interactive Menu

---- Task Manager ----

1) Add Task

2) List Tasks

3) Update Task

4) Delete Task

5) Search

6) Task Summary

7) Overdue Tasks

8) Priority Report

9) Exit

After every operation the menu is shown again, so you can keep working until you choose 9) Exit.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
9
تاريخ الإضافة
تاريخ الإنجاز