https://github.com/chronosgit/java-task-manager
A Java-based console task manager with scheduling, file persistence, and background music using multithreading.
https://github.com/chronosgit/java-task-manager
cli console java task-manager
Last synced: 11 months ago
JSON representation
A Java-based console task manager with scheduling, file persistence, and background music using multithreading.
- Host: GitHub
- URL: https://github.com/chronosgit/java-task-manager
- Owner: chronosgit
- License: mit
- Created: 2025-07-27T01:47:37.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-08-03T21:39:06.000Z (11 months ago)
- Last Synced: 2025-08-03T22:17:20.889Z (11 months ago)
- Topics: cli, console, java, task-manager
- Language: Java
- Homepage:
- Size: 43.6 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Task Manager
A console-based task managing tool built with Java, designed to help you manage personal tasks with deadlines. This project demonstrates core Java concepts including object-oriented programming and file I/O.
## ✨ Features
- 📝 Create and manage tasks
- ⏰ Set deadlines
- 🎵 Background music playback (runs in a separate thread)
- 💾 Save and load tasks to/from disk
- 📂 Structured using Maven conventions
- 🔁 Cross-platform (runs on any system with Java 17+)
## 📦 Tech Stack
- Java 17+
- File I/O
- Java Sound API for audio
## 📁 Project Structure
This project follows the standard Maven directory layout:
java-task-manager/
├── src/
│ ├── main/
│ │ ├── java/
│ │ └── resources/
│ └── test/
│ ├── java/
├── target/
├── pom.xml
├── README.md
## How to use
1. Install JDK.
1. Clone the repository.
1. Create two files inside `src/main/.data` directory:
- `.settings.properties`
- `.tasks.csv `
In `.settings.properties`, add your settings like this:
# Thu Jul 31 18:27:33 PDT 2025
color=
username=
In `.tasks.csv`, add the CSV header and a mandatory empty line below it:
id,title,body,isCompleted,start,end
[mandatory empty line here]