Skip to content

VladAndrei25/task-manager-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧩 Task Manager App

A simple yet efficient console-based task management application built with Java 17.
It allows users to add, update, remove, list, and export tasks, while automatically saving changes locally.


πŸš€ Project Overview

The Task Manager App provides an interactive CLI for managing daily tasks.
All operations are reflected in a local file (tasks.txt), and users can export their task list in Markdown format (tasks.md).

The project demonstrates:

  • File handling in Java (FileHandler)
  • Object-oriented design (Task, TaskManager)
  • Data persistence (via text files)
  • Markdown report generation
  • Unit testing using JUnit 5

🧰 Tech Stack

Java JUnit5 Maven Markdown

Tool / Library Purpose
Java 17 Main programming language
JUnit 5 Unit testing framework
Maven Build automation & dependency management
MarkdownExporter Exports tasks to .md file
FileHandler Handles reading/writing to tasks.txt

βš™οΈ Project Structure

task-manager-app/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main/
β”‚   β”‚   └── java/
β”‚   β”‚       β”œβ”€β”€ FileHandler.java
β”‚   β”‚       β”œβ”€β”€ MarkdownExporter.java
β”‚   β”‚       β”œβ”€β”€ Task.java
β”‚   β”‚       β”œβ”€β”€ TaskManager.java
β”‚   β”‚       └── Main.java
β”‚   β”‚
β”‚   └── test/
β”‚       └── java/
β”‚           β”œβ”€β”€ TaskTest.java
β”‚           └── TaskManagerTest.java
β”‚
β”œβ”€β”€ tasks.txt
β”œβ”€β”€ tasks.md
β”œβ”€β”€ pom.xml
β”œβ”€β”€ .gitignore
└── README.md

🧠 Main Features

Feature Description
βž• Add Task Add new task with title and description
✏️ Update Task Edit existing tasks
❌ Remove Task Delete task by ID
πŸ“‹ List Tasks Display all tasks in console
πŸ’Ύ Auto-Save Every action updates tasks.txt automatically
πŸ“€ Export Markdown Generate a formatted tasks.md report
πŸ§ͺ Unit Tested Core classes tested with JUnit 5

πŸ§ͺ How to Run Tests

  1. Just press Shift+F10 on the test you want to run OR
  2. Run all tests using Maven:
    mvn test
    
  3. Run a specific test class:
    mvn -Dtest=TaskManagerTest test
    

🧾 Classes Overview

Class Description
Main.java Entry point for the console menu
Task.java Defines the Task object structure
TaskManager.java Manages CRUD operations on tasks
FileHandler.java Reads and writes data to tasks.txt
MarkdownExporter.java Exports the tasks into tasks.md
TaskManagerTest.java Unit tests for TaskManager logic
TaskTest.java Unit tests for Task entity behavior

πŸ“Έ Screenshots

Example of successful test execution in TaskManagerTest:

image

Example of succesful test execution in TaskTest:

image

Example of succesful upload from FileHandler in tasks.txt:

image

Example of succesful upload from MarkdownExporter in tasks.md:

image


πŸŽ₯ Demo – Application Execution

🟒 Add Task

Add Task Demo

πŸ”΄ Remove Task

Remove Task Demo

πŸ“‹ View All Tasks

Get All Tasks Demo

πŸ’‘ Future Improvements

πŸ” Add sorting & filtering (by status or date)

πŸ—“οΈ Add task deadlines and priorities

🧩 Add JSON export option

🧾 Integrate logging with SLF4J

🧠 Add persistence using SQLite

πŸ“¦ Add CI/CD pipeline (GitHub Actions)


🧾 License

This project is licensed under the MIT License


πŸ‘€ Author

Radulescu Vlad Andrei

πŸ“§ GitHub Profile: [https://github.com/VladAndrei25]

πŸ’¬ Feel free to reach out for collaboration or feedback!


About

Console-based Java app for managing daily tasks with auto file saving and Markdown export.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages