Skip to content

A task manager application built with C# that helps users organize, track, and prioritize their daily tasks.

Notifications You must be signed in to change notification settings

gabyfachini/TaskManagerObjectOrientation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Task Manager - Object-Oriented Programming Example in C#

This repository contains a simple console project that demonstrates the use of Object-Oriented Programming (OOP) concepts in C#.

The project simulates a Task Manager, where you can add tasks, list them, execute them, and manage their status (completed or pending).


πŸ“š Project Description

The purpose of this project is to serve as a practical study of the fundamental principles of OOP, including:

  • βœ… Encapsulation
  • βœ… Inheritance
  • βœ… Polymorphism
  • βœ… Abstraction

The project applies these principles through task management, allowing you to create both simple tasks and tasks with deadlines.


πŸš€ Features

  • βœ”οΈ Add Simple Tasks
    Create basic tasks without deadlines.

  • βœ”οΈ Add Deadline Tasks
    Create tasks with a specified deadline.

  • βœ”οΈ List Tasks
    View tasks filtered by type (simple, deadline, or all).

  • βœ”οΈ Execute Tasks
    Simulate task execution and mark tasks as completed.

  • βœ”οΈ View Task Status
    Easily check whether tasks are pending or completed.

  • βœ”οΈ Interactive Console Menu
    The system runs in a loop with a simple menu to interact with tasks.


πŸ—οΈ Project Structure

/TaskManager β”‚ β”œβ”€β”€ Program.cs β†’ Console menu and user interaction β”œβ”€β”€ TaskManager.cs β†’ Manages task list (add, list, execute) β”‚ β”œβ”€β”€ Tasks/ β”‚ β”œβ”€β”€ Task.cs β†’ Abstract class (base task) β”‚ β”œβ”€β”€ SimpleTask.cs β†’ Inherits from Task (basic task) β”‚ └── DeadlineTask.cs β†’ Inherits from Task (task with deadline) β”‚ └── README.md β†’ Documentation


🧠 Learning Goals

This project aims to help you:

  • Understand how to implement abstract classes and inheritance in C#.
  • Apply polymorphism through method overriding.
  • Work with encapsulated data and controlled class behaviors.
  • Create structured and reusable code using OOP best practices.

πŸ› οΈ Technologies Used

  • Language: C#
  • Framework: .NET 8
  • IDE: Visual Studio or Visual Studio Code
  • Project Type: Console Application

πŸ’» How to Run

1. Clone the repository:

git clone https://github.com/gabyfachini/TaskManager.git

2. Open the project in Visual Studio or Visual Studio Code.

3. Restore dependencies (if needed) and build the project.

4. Run the application.
   A menu will appear in the terminal, allowing you to:
      Add tasks
      List tasks
      Execute tasks
      Exit the program

About

A task manager application built with C# that helps users organize, track, and prioritize their daily tasks.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages