Skip to content

Muhammadou1/ToDoList

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Console Todo List Application (C#)

This is a simple and functional Todo List application built using C# console-based interface. It allows you to create, update, delete, edit and view task info like due dates, completion status, and metadata.

Features

Create a new task with a title and due date, View TODO task in a simple list format, View details of a specific task (Created date, Due date, Completed date, Last modified date), Edit task title or status, Deletes task by ID, Detect and block duplicate IDs or IDs not found. Tracks when a task was:

  • Created
  • Completed
  • Last modified

How It Works

This application uses a design with the following structure:

  • TodoItem.cs: Represents a single todo task
  • TodoManager.cs: Contains core logic for managing tasks (create, delete, update, etc.)
  • TaskViewer.cs: Handles rendering tasks to the console
  • App.cs: Controls the user interface and handles user input
  • Status.cs: Handles status value of todo task like "Open" or "Complete"
  • InputParser.cs: Parses edit commands like title=Gym or status=complete
  • EditToItemInstruction.cs: Holds property-value pairs for editing a task
  • Global.cs: Holds input commands

Getting Started

Prerequisites

  • .NET 8 SDK
  • Any C# compatible IDE (Visual Studio, VS Code)

Run the Application

Clone this repo:

Created by Muhammadou Drammeh as a console-based practice project for understanding object-oriented design and clean code principles. Monitored by John Cruz

Development Process & Practices

Applied SOLID Principles to ensure scalable, maintainable, and readable code

Followed Separation of Concerns, organizing logic cleanly across different classes

Employed the Software Development Life Cycle (SDLC) to guide the planning and implementation stages

Planned and mapped system behavior using a UML Activity Diagram before development began

Created a UML Class Diagrams before writing code to model domain logic and relationships

Practiced Agile Methodology, breaking down the project into small, testable, iterative steps

Translated business requirements into user stories

Regularly reviewed and updated the development plan to reflect user needs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages