Ta aplikacja Spring Boot zapewnia solidne rozwiązanie do pobierania i przechowywania kursów wymiany walut z interfejsu API Narodowego Banku Polskiego (NBP). Zaprojektowana z myślą o nowoczesnych praktykach tworzenia oprogramowania, wykorzystuje architekturę Model-View-Controller (MVC), aby zapewnić czystą separację zagadnień i zwiększyć łatwość konserwacji.
- Jak zacząć?
- Wymagania
- Instalacja
- Uruchamianie aplikacji
- Przykłady użycia
- API
- Autorzy
- Licencje
- Podziękowania
Przejdź po wymaganiach, żeby upewnić się, że posiadasz wszystkie niezbędę oprogramowanie. Jeżeli jesteś pewny, że posiadasz całe potrzebne opragramowanie przejdź do instalacji i postępuj zgodnie z opisanymi tam krokami. Na końcu zapoznaj się, także z korkami wyjaśniającymi uruchamianie aplikacji. Polecamy również zapoznać się z:
Przed instalacją upewnij się, że na komputerze zainstalowane jest następujące oprogramowanie:
- Java 22.0.x
- JDK 22
- Spring boot 3.2.x
- TypeScript 5.3.x
- Node.js 21.7.x
- Angular 17.3.x
- PostgreSQL 16.2
- Apache Kafka 3.6.x
Postępuj zgodnie z poniższymi krokami w celu zainstalowania środowiska oraz aplikacji.
# Sklonuj repozytorium:
mkdir Projekt
git clone https://github.com/iwokonl/Kantor.git
cd Projekt
- Uruchomienie Docker
docker-compose up -d
- Frontend (Angular)
cd Front/kantor-angular
npm install -g [email protected]
npm serve
ng b
cd /Projekt
- Backend (Spring Boot) Przejdź do katalogu backend i uruchom polecenie Maven, aby oczyścić projekt, zbudować plik .jar oraz zainstalować zależności:
cd Kantor/Back/mikro-services
mvn clean install
cd target
java -jar [nazwa_pliku_jar] # np. java -jar kantor-0.0.1-SNAPSHOT.jar w Target. Kolejność uruchamiania mikroserwisów jest określona w README.MD w ms.
Pierwsze co widzi użytkownik to strona główna. Zawiera ona wyszukiwarkę walut, dzięki której potencjalny klient może sprawdzić czy kantor oferuje wymiany walut, które go interesują. Poruszający się pasek wraz z niedawnymi spadkami i wzrostem walut. Pary walutowe które cieszące się największą popularnością. Na środku widnieją również wykresy trzech przykładowych walut. Na końcu najpotrzebniejsze odnośniki takie jak strona główna, kursy walut, ustawienia, konta walutowe czy zaloguj się/wyloguj się/zajerestruj się.
Na następnym zrzucie ekranowym widać dobrze funkcjonującą wyszukiwarkę. W bazie znajdują się wszystkie waluty obsuługiwane przez NBP API.
Z kolei tutaj mamy przykład kursu Dolara amerykańskiego wraz z dokładną wartością oraz wykresem z ostatnich 3 miesięcy. Istnieje, także możliwość zobaczenia wykresu na przestrzeni jednego tygonia, dwóch tygodni, jednego miesiąca oraz roku.
Na tym zrzucie ekranowym widać już założone konto walutowe z możliwością wpłaty i wypłaty funduszy. Konto udostępnia takie informacje jak ilość pobranych lub wpłaconych funduszy oraz po jakim kursie te opercaje zostały przeprowadzone, wartość w złotówkach, typ transakcji oraz jej data. W prawym górnym roku, jest także przycisk odpowiedzialny za usuwanie konta walutowego.
Obsługą wpłaty i wypłat funduszy zajmuje się API Paypal. Pozwala to na bezpieczne przeprowadzenie transakcji.
Na końcu chcielibyśmy, także pokazać ustawienia, w których można zmienić dane swojego zarejestrowanego konta.
Aplikacja wykorzystuje interfejs API Narodowego Banku Polskiego (NBP) do pobierania kursów walut oraz cen złota w formacie XML oraz JSON. Kantor używa, także API Paypal do obsługi płatności.
Iwo Stanisławski, Bogumił Różański, Paweł Ściślewski, Bartosz Zalewski, Patryk Seligowski
Ten projekt został stworzony jako część kursu studiów na Uniwersytecie Warmińsko-Mazurskim w Olsztynie. Projekt nie jest przeznaczony do użytku komercyjnego.
Ograniczenia
- Projekt jest przeznaczony wyłącznie do celów edukacyjnych.
- Bez zgody autora nie można używać kodu źródłowego w celach komercyjnych.
- Wszelkie kopie lub rozpowszechnianie kodu źródłowego muszą zawierać tę informację o prawach autorskich i ograniczeniach
Prziękowania należą się firmie ZETO Software za czuwanie nad projektem oraz cenne rady. Również wyrażam ogromną wdzięczność Panu Bartoszowi Nowakowi, prowadzącemu przedmiot, za jego nieocenioną pomoc, cierpliwość i profesjonalne podejście.