This project is a console-based Inventory Management System developed in C#, designed to demonstrate object-oriented programming principles and the implementation of a simple business application.
The application is structured around three core classes: Program, which manages user interaction; InventoryManager, which encapsulates inventory operations and business logic; and Product, which models individual inventory items with properties such as name, quantity, price, and stock keeping unit (SKU).
The system supports a range of inventory management features, including adding new products, updating stock quantities, viewing all products, and removing existing items. Input validation is implemented throughout the application using TryParse() methods to ensure robust handling of user input, while duplicate product checks and inventory lookups help maintain data integrity.
The project emphasises modular design by separating user interface logic from inventory management functionality, resulting in a clear and maintainable architecture. Product data is managed using generic collections (List<Product>), with dedicated methods responsible for searching, updating, and modifying inventory records.
Through this project, I explored fundamental software engineering concepts including object-oriented design, encapsulation, collection management, input validation, business rule implementation, and modular application architecture, while reinforcing clean and structured C# development practices.
Back to Top