Skip to content

kyealexander/ToDoListManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📌 To-Do List Manager (C)

A simple command-line To-Do List Manager built in C


📝 About

The To-Do List Manager is a simple CLI-based program that allows users to:

  • Add tasks to a to-do list
  • View tasks stored in a file
  • Remove tasks by specifying their task number

The program stores tasks in a tasks.txt file inside the data/ directory, ensuring that tasks persist even after the program is closed.


📂 Project Structure

ToDoListManager/
│── src/             # Source code files
│   ├── main.c       # Entry point of the program
│   ├── todo.c       # Implementation of to-do list functions
│── include/         # Header files
│   ├── todo.h       # Header file with function declarations
│── bin/             # Compiled binary output
│── build/           # Compiled object files (.o)
│── data/            # Stores saved tasks
│   ├── tasks.txt    # Task storage file
│── Makefile         # Build system
│── README.md        # Project documentation

🚀 Getting Started

1️⃣ Clone the Repository

git clone https://github.com/kyealexander/ToDoListManager.git 
cd ToDoListManager

2️⃣ Compile the Program

Use make to build the project:

make

3️⃣ Run the To-Do List Manager

make run

Or manually execute:

./bin/todo_list

📜 Usage

After running the program, you will see this menu:

To-Do List Manager
1. Add Task
2. View Tasks
3. Remove Task
4. Exit
Choose an option:
  • Adding a Task
Enter task: Buy groceries 
Task added successfully!
  • Viewing Tasks
Your To-Do List: 
1. Buy groceries 
2. Finish homework
  • Removing a Task
Enter task number to remove: 1 
Task removed successfully!

🛠️ Features

✔ Persistent task storage using a text file
✔ Simple and efficient CLI-based interface
✔ Error handling for file operations
✔ Easy-to-read and extendable codebase


🔧 Build & Development

Modify the Code

  • Edit src/main.c to modify the menu or UI.
  • Modify src/todo.c to add more features (e.g., task editing).
  • Use include/todo.h for function declarations.

Rebuild After Changes

make clean
make

🌟 Future Improvements

  • ✅ Task editing functionality
  • ✅ Mark tasks as completed
  • ✅ Save tasks in JSON or CSV format
  • ✅ Implement coloured terminal output

📜 License

This project is open-source and available under the MIT License.


🤝 Contributing

Want to contribute? Feel free to fork the repository and submit a pull request! 🚀

About

A simple command-line To-Do List Manager built in C.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published