A console-based Java task manager built with Maven and SQLite.
This project allows users to manage tasks using a local database, with support for creating, viewing, updating, filtering, and deleting tasks.
- Add new tasks
- View all tasks
- Mark tasks as done
- Edit task titles
- Remove tasks
- Show completed tasks
- Show not completed tasks
- Persistent local storage with SQLite
- Input validation and basic error handling
- Java 17
- Maven
- SQLite
- JDBC
- SQL
- Object-Oriented Programming (OOP)
TaskManagerDB/
├── src/
│ └── main/
│ └── java/
│ ├── Main.java
│ ├── Task.java
│ └── DatabaseManager.java
├── pom.xml
├── .gitignore
└── README.md
The application uses a local SQLite database file:
tasks.db
Table structure:
CREATE TABLE IF NOT EXISTS tasks (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
done INTEGER NOT NULL
);- Clone the repository:
git clone https://github.com/piepelniCa/java-task-manager-db.git-
Open the project in IntelliJ IDEA
-
Let Maven load the dependencies
-
Run:
Main.java
--- TASK MANAGER DB ---
1. Add task
2. View tasks
3. Mark task as done
4. Remove task
5. Exit
6. Edit task title
7. Show completed tasks
8. Show not completed tasks
- How to set up a Maven-based Java project
- How to connect Java to SQLite using JDBC
- How to perform CRUD operations with SQL
- How to separate application logic into model, database, and UI layers
- How to validate user input and handle common edge cases
- Search tasks with SQL queries
- Add timestamps for created tasks
- Sort tasks by date or status
- Build a GUI version
- Convert the project into a REST API with Spring Boot
Tadas Kardauskas
GitHub: https://github.com/piepelniCa
This project was created as part of my transition into IT and to strengthen my Java and backend development skills.