This project is a simple task management application developed as a C# console application, designed to reinforce fundamental programming concepts and software design principles.
The application provides a menu-driven interface that allows users to add new tasks, view existing tasks, and mark tasks as completed. Task data is managed using an in-memory array with a dedicated task counter, demonstrating basic data structures, state management, and sequential data processing.
A key focus of the project was creating a robust user experience through input validation. The application utilises int.TryParse() to safely process user input, preventing invalid data from causing runtime exceptions and ensuring the program remains responsive to incorrect input.
The project also demonstrates the use of modular programming practices, separating functionality into dedicated methods for adding, viewing, and completing tasks. This approach improves readability, maintainability, and code organisation while reducing duplication.
Although intentionally lightweight, the project showcases core software engineering skills including control flow, loops, arrays, method decomposition, input validation, and console-based user interface design. It serves as a foundation for building larger applications while reinforcing clean and structured C# development practices.
Back to Top