Skip to content

DawydowGerman/java-kanban

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-kanban

A lightweight, pure Java task tracker app implementing a kanban-style workflow.

OpenJDK 21 JSON API Gson No Spring Pure Java

Features

Core Functionality

  • Task Management:
    • Create, update, and delete tasks
    • Track task status
    • Manage task duration and timelines
  • Epic/Subtask System:
    • Create complex tasks (epics) composed of smaller subtasks
    • Automatic calculation of epic timelines based on subtasks
  • History Tracking:
    • View recently accessed tasks
  • Priority System:
    • Tasks sorted by start time using TreeSet with custom comparator

Storage Options

  • In-Memory Storage: Fast runtime storage
  • File-Based Storage: Persistent storage to file

REST API

  • HTTP endpoints for basic operations (GET/POST/DELETE)
  • JSON serialization using Gson with custom converters

Getting Started

Prerequisites

  • Java 21 or later
  • Maven 3.9 or later
  • Git 2.34.1 or later

Clone the Repository

git clone https://github.com/DawydowGerman/java-kanban.git
cd java-kanban

Build with Maven

mvn clean package

Run the Application

  • Option A: Run directly with Maven

    mvn exec:java -Dexec.mainClass="ru.practicum.kanban.Main"
  • Option B: Run from built JAR

    java -jar target/kanban-1.0-SNAPSHOT.jar

About

Repository for homework project

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages