Prosta aplikacja konsolowa w Javie służąca do zarządzania zadaniami (questami).
- Java 17 lub nowsza
- Maven lub Gradle (opcjonalnie – projekt można uruchomić także z IDE)
- Otwórz projekt w IntelliJ IDEA / Eclipse
- Uruchom klasę
Main
javac -d out src/main/java/com/github/imdmk/realmquestmanager/Main.java
java -cp out com.github.imdmk.realmquestmanager.MainPo uruchomieniu aplikacja przejdzie w tryb interaktywny (CLI).
Aplikacja działa w trybie konsolowym i reaguje na wpisywane komendy. Komendy nie są czułe na wielkość liter.
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
Oznacza zadanie jako ukończone.
Przykład:
COMPLETE 1
Jeśli zadanie o podanym indeksie nie istnieje, zostanie wyświetlony czytelny komunikat.
Wyświetla wszystkie zadania.
Wyświetla tylko ukończone zadania.
Wyświetla tylko nieukończone zadania.
Zapisuje aktualny stan zadań do pliku quests.json.
Plik jest nadpisywany przy każdym zapisie.
Kończy działanie programu. Przed zamknięciem aplikacja automatycznie zapisuje dane do pliku (jeśli istnieją zadania).
> 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...
-
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>
Dominik Suliga (dominiks8318@gmail.com). Projekt wykonany jako zadanie testowe. Kod został przygotowany z naciskiem na czytelność, prostotę i łatwość dalszego rozwoju.