Skip to content

Sans-arch/task-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task CLI Application 🚀

Overview 📋

Task CLI is a command-line interface application designed to manage tasks efficiently. Built with Java and Spring Boot, it leverages an in-memory H2 database for persistence and provides a simple yet powerful way to handle task management.

Features ✨

  • Task Management: Create, update, and delete tasks.
  • Task Status: Track task status (Pending, Completed).
  • Timestamping: Automatic creation timestamps for tasks.
  • In-Memory Database: Uses H2 for quick setup and testing.

Technologies Used 🛠️

  • Java 17
  • Spring Boot 3.3.2
  • Spring Data JPA
  • Spring Shell
  • H2 Database
  • Maven

Getting Started 🚀

Prerequisites 📋

  • Java 17 or higher
  • Maven

Installation 🛠️

  1. Clone the repository:

    git clone https://github.com/Sans-arch/task-cli
    cd task-cli
  2. Build the project:

    mvn clean install
  3. Run the application:

    mvn spring-boot:run

Usage 💻

Once the application is running, you can use the CLI to manage tasks. Here are some basic commands:

  • Create a new task:

    task create "Your task description"
  • List all tasks:

    task list
  • Get an existing task:

    task get <task-id>
  • Update a task status:

    task update <task-id> --status COMPLETED
  • Delete a task:

    task delete <task-id>

Configuration ⚙️

The application uses an in-memory H2 database by default. You can configure the database settings in the src/main/resources/application.properties file.

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.hibernate.ddl-auto=update
spring.h2.console.enabled=true

About

A CLI task tracker application

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages