Jaki projekt zrobilibyście żeby ugruntowić OOP?

0

Cześć.
Po zanurzeniu się w webówkę przyszedł mi do głowy pomysł, aby się trochę cofnąć i ugruntowić sobie wiedzę z podstaw.
Nieraz czytałem o różnych konceptach, chwilę je testowałem, a później nierzadko zapominałem o co chodziło. Dlatego chciałbym zbudować jakiś lekko rozbudowany projekt, który pozwoliłby mi trochę nabrać wprawy i pewności.

Chodzi mi po głowie jakiś konsolowy projekt, na tyle duży żeby ugruntowić sobie porządnie OOP ze wszystkimi kruczkami, smaczkami i dobrymi praktykami z Javy 8.

Myślałem o jakiejś integracji z zewnętrznym API, przy okazju parsowanie JSON, upakowaniem tego do BD via JDBC, oczywiście wszystko obtestowane jUnitem, sama apka w funkcjonalności raczej jakiś niezbyt wyszukany CRUD (user via Scanner mógłby modyfikować zawartość bazy, przeglądać różne zestawienia, które stworzyłbym przy okazji ćwicząc SQL itd.).

Chciałbym też przy okazji ugruntowić sobie kolekcje (i przy okazji sprawnie posługiwać się lambdami, generykami, robić operacje na Stream API), użyć kilku podstawowych wzorców projektowych, tak aby to weszło w krew.

Może robiliście coś podobnego i moglibyście rzucić jakimś kodem? A może macie jakieś twórcze pomysły i chcielibyście się podzielić?
Nie chciałbym czegoś zupełnie do szuflady, myślałem np. o API NBP, wczytywanie kursów, liczenie różnic, robienie predykcji lub też jakimś API pogodowym.

Oczywiście znam te wszystkie zbiory projektów np. https://github.com/karan/Projects-Solutions ale ciekaw jestem waszej opinii.
Jest też fajny zbiór różnych publicznych JSONowych API: https://github.com/toddmotto/public-apis może kogoś to zainspiruje.

Z góry dzięki za poświęcony czas

0

Jeżeli już wspomniałeś o API NBP, to może jakiś kantor?
Może jakiś prosty symulator giełdy? Będzie trochę integracji, trochę logiki się znajdzie.
Może jakaś prosta gra konsolowa? Dla mnie zawsze najlepszą praktyką do nauki OOP były gry. Np. roguelike + do tego dochodzą ogromne możliwości rozbudowy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1