Skip to content

About

Prosta aplikacja konsolowa w Javie służąca do zarządzania zadaniami (questami).

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Realm Quest Manager

Prosta aplikacja konsolowa w Javie służąca do zarządzania zadaniami (questami).


Wymagania

  • Java 17 lub nowsza
  • Maven lub Gradle (opcjonalnie – projekt można uruchomić także z IDE)

Uruchomienie aplikacji

Z poziomu IDE

  1. Otwórz projekt w IntelliJ IDEA / Eclipse
  2. Uruchom klasę Main

Z linii poleceń (przykład)

javac -d out src/main/java/com/github/imdmk/realmquestmanager/Main.java
java -cp out com.github.imdmk.realmquestmanager.Main

Po uruchomieniu aplikacja przejdzie w tryb interaktywny (CLI).


Jak działa interfejs

Aplikacja działa w trybie konsolowym i reaguje na wpisywane komendy. Komendy nie są czułe na wielkość liter.

Dostępne komendy

ADD <title> <rewardCoins>

Dodaje nowe zadanie.

  • title – tytuł zadania (może składać się z wielu słów)
  • rewardCoins – liczba monet (> 0)

Przykład:

ADD Zrób TikToka na dziś 50

COMPLETE <index>

Oznacza zadanie jako ukończone.

Przykład:

COMPLETE 1

Jeśli zadanie o podanym indeksie nie istnieje, zostanie wyświetlony czytelny komunikat.


LIST

Wyświetla wszystkie zadania.


LIST completed

Wyświetla tylko ukończone zadania.


LIST pending

Wyświetla tylko nieukończone zadania.


SAVE

Zapisuje aktualny stan zadań do pliku quests.json. Plik jest nadpisywany przy każdym zapisie.


EXIT

Kończy działanie programu. Przed zamknięciem aplikacja automatycznie zapisuje dane do pliku (jeśli istnieją zadania).


Przykładowa sesja

> ADD Zrób TikToka 50
Dodano nowe zadanie: "Zrób TikToka" (50 coins).

> ADD Nagraj film na YouTube 100
Dodano nowe zadanie: "Nagraj film na YouTube" (100 coins).

> LIST
1) [PENDING] Zrób TikToka — 50 coins
2) [PENDING] Nagraj film na YouTube — 100 coins

> COMPLETE 1
Zadanie Zrób TikToka zostało oznaczone jako ukończone.

> LIST completed
1) [COMPLETED] Zrób TikToka — 50 coins

> SAVE
Zapisano zadania do pliku.

> EXIT
Zapisano dane. Kończę program...

Informacje techniczne

  • Java 17

  • Brak frameworków (Spring, Bukkit, Spigot itp.)

  • Architektura oparta na:

    • SRP (Single Responsibility Principle)
    • rozdzieleniu warstw (command / service / repository / storage)
  • Dane zapisywane są do pliku JSON przy użyciu biblioteki Gson

  • Obsługa błędów oparta o własną klasę Result<T>


Autor

Dominik Suliga (dominiks8318@gmail.com). Projekt wykonany jako zadanie testowe. Kod został przygotowany z naciskiem na czytelność, prostotę i łatwość dalszego rozwoju.

About

Prosta aplikacja konsolowa w Javie służąca do zarządzania zadaniami (questami).

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages