Skip to content

owrmille/task_tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Weekly Task Tracker (CLI)

A simple command-line task tracker designed to help maintain consistency in weekly planning and track progress over several weeks.

Motivation

I built this project to develop a consistent planning routine and to apply my first Java skills to something practical. The idea is to plan each week, track progress, and keep moving forward even when plans are not completed perfectly. To support this mindset, the tracker only allows modifying tasks for the current week. Past weeks become read-only: you can review your progress, but not rewrite history. This helped me focus less on perfection and more on steady progress.

Demo

Menu Options

  1. Add Task – Create a new task for the current week (it's possible to create N identical tasks at once. For example, for this purpose: "read 10 pages of a book every day of the week").
  2. Show Tasks – Display all tasks for the current week.
  3. Mark Task as Done – Mark a task as completed.
  4. Delete Task – Remove a task from the list.
  5. Duplicate Task – Create a copy of an existing task.
  6. Show Weekly Progress – View progress statistics for any week.
  7. Exit – Save and exit the application.

Menu and List of Tasks

Features

  • Weekly Task Management – Organize tasks by week for better focus and planning
  • Progress Tracking – View progress for any week, not just the current one, and analyze your progress in the long run
  • Project Organization – Group tasks by project to monitor different areas of work
  • Task Operations:
    • Add new tasks (including repetitive tasks)
    • View tasks for the current week
    • Mark tasks as done
    • Delete tasks
    • Duplicate tasks
  • Progress Visualization – See completion percentages by project with visual progress bars

Progress Bar

Data Storage

  • File-based storage: tasks are stored in tasks/week_X.txt files (where X is the week number)
  • Automatic backups are created in the backups/ directory
  • All data is stored locally on user machine

Technical Details

  • Build Tool: Maven
  • Week Calculation: Based on a fixed starting date defined in the code (week numbers are calculated relative to that date) -> needs to be fixed in the future!

Usage

git clone https://github.com/owrmille/task_tracker.git
cd task_tracker
mvn -f task-tracker/pom.xml clean package
mvn -f task-tracker/pom.xml exec:java

TODO

  • Configuration Support – Allow users to configure the start date, storage directory, and other settings via a config file.
  • Search and Filtering – Filter tasks by project, tag, completion status, or week.
  • Mark as Done - Group similar tasks together and let the user choose which one to mark as done, to reduce visual noise in the list.
  • Improved Error Handling – More robust handling of invalid input and file I/O errors, with clearer user messages.
  • Automated Tests – Add unit tests for core logic.
  • Storage – Swap from ile-based storage to a database!
  • Alternative Interfaces – Add a simple TUI/GUI or web-based interface on top, while keeping the lightweight CLI version as an alternative.

About

Minimalist CLI tool written in Java for weekly planning, progress tracking, and moving forward. Java + Maven

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages