Coursera Programming in Go Final Project: To-Do List Manager
A to-do list manager is a software application or tool designed to help individuals or teams organize, prioritize, and manage their tasks and activities effectively. It serves as a digital or virtual list where users can add, track, edit, and mark tasks as completed or pending. The primary goal of a to-do list manager is to increase productivity, improve time management, and ensure that tasks are completed in an organized manner.
Develop a basic command-line To-Do List application in Golang that allows users to manage and organize their tasks. The program should fulfill the following functionalities:
- Enable users to add new tasks to their To-Do List.
- Display the entire list of tasks.
- Allow users to remove tasks from their list.
- Implement the ability for users to mark tasks as completed.
- Create a simple text-based interface for users to interact with the To-Do List.
- Display options for adding, removing, and marking tasks as completed.
- Store tasks in memory during the program's execution.
- Provide an option to save tasks to a file for persistence between program runs.
- Utilize basic Golang concepts such as slices, loops, conditional statements, and user input handling to create the To-Do List.
- Implement functionalities to add, display, remove, and mark tasks as completed using appropriate data structures and control flow.
- Design a straightforward and user-friendly command-line interface with clear instructions and menu-driven options.
- Encourage code modularity by breaking down tasks into separate functions for each operation (adding, removing, displaying tasks).