Swift Code Hub
🚀

Swift Code Hub

notion image

Ta aplikacja prezentuje architekturę REST API do zarządzania danymi kodów SWIFT, z wykorzystaniem konteneryzacji dla uproszczonego wdrażania. Aplikacja umożliwia parsowanie danych z plików .xlsx zawierających kody SWIFT oraz przechowywanie tych informacji w bazie danych PostgreSQL. Dzięki temu możliwe jest szybkie wyszukiwanie i zarządzanie danymi bankowymi wykorzystując poprzez czytelne i intuicyjne API.

notion image

🎯 Funkcjonalności


  • Parsowanie danych SWIFT: odczyt i przetwarzanie informacji z plików Excel.
  • Trwałe przechowywanie danych: baza PostgreSQL optymalizowana pod kątem szybkiego odpytywania.
  • REST API: zarządzanie rekordami SWIFT, umożliwiające dodawanie, odczytywanie i usuwanie danych.
  • Walidacja i obsługa błędów: zapewnia poprawność danych wejściowych i zwraca czytelne komunikaty o błędach.
  • Konteneryzacja: uproszczone wdrożenie aplikacji i bazy danych za pomocą kontenerów Docker.
notion image

🚀 Technologie i biblioteki


  • Java 21
  • PostgreSQL
  • JOOQ
  • Jetty (wbudowany serwer HTTP)
  • Apache POI (obsługa plików Excel)
  • JUnit (testy jednostkowe)
  • Rest Assured (testy integracyjne)
  • Log4j2 (logowanie)
  • Gradle (budowanie i zarządzanie zależnościami)
  • Docker (konteneryzacja)
notion image

📂 Struktura projektu


├── src/ │ ├── main/ │ │ ├── java/com/jakub/bone/api # REST API │ │ ├── java/com/jakub/bone/database # Zarządzanie bazą danych │ │ ├── java/com/jakub/bone/domain # Modele domenowe │ │ ├── java/com/jakub/bone/repository # Repozytoria bazodanowe │ │ ├── java/com/jakub/bone/server # Zarządzanie serwerem │ │ ├── java/com/jakub/bone/service # Logika biznesowa │ │ └── java/com/jakub/bone/utills # Klasy pomocnicze │ └── test/ # Testy ├── Dockerfile # Budowanie kontenera ├── docker-compose.yml # Orkiestracja kontenerów └── build.gradle # Konfiguracja Gradle
notion image

✨ Kluczowe funkcjonalności


REST API:

  • Pobieranie szczegółów kodu SWIFT
  • Pobieranie kodów SWIFT według kraju
  • Dodawanie nowych rekordów SWIFT
  • Usuwanie rekordów SWIFT
  • Baza danych i bezpieczeństwo:
    • PostgreSQL z JOOQ do bezpiecznego zarządzania danymi

Komunikacja:

  • JSON: serializacja/deserializacja wiadomości

Testowanie:

  • Testy jednostkowe (JUnit)
  • Testy integracyjne (Rest Assured)
notion image

🔗 Repozytorium

Swift-Code-Hub
jakubBoneUpdated May 5, 2025