Kompleksowy system do obsługi procesów bibliotecznych, zrealizowany w architekturze Klient-Serwer. Projekt składa się z serwera REST API, panelu webowego dla bibliotekarza/czytelnika oraz desktopowego kiosku informacyjnego.
Projekt składa się z trzech główne moduły:
- Backend (API): Serwer napisany w Javie (Spring Boot). Zarządza logiką biznesową, bazą danych i udostępnia REST API.
- Client (Web): Webowa aplikacja w React (Vite). Umożliwia zarządzanie księgozbiorem, wypożyczanie książek oraz podgląd konta użytkownika.
- Kiosk (Desktop): Niezależna aplikacja okienkowa (Java Swing) symulująca fizyczny punkt informacyjny w bibliotece do samodzielnego sprawdzenia przez czytelnika stanu swoich wypożyczeń.
Backend:
- Java 21
- Spring Boot 3
- Spring Data JPA (Hibernate)
- PostgreSQL / H2 Database
Frontend:
- React.js
- Vite
- JavaScript (ES6+)
- CSS Modules
Kiosk:
- Java Swing (Native GUI)
- Java
java.net.httpClient
- Katalog Książek: Przeglądanie, dodawanie i usuwanie książek ze zbiorów.
- System Wypożyczeń: Przypisywanie książek do użytkowników z automatyczną datą zwrotu po 30 dniach.
- Przedłużanie Terminów: Możliwość prolongaty wypożyczenia o kolejny miesiąc.
- System Kar: Automatyczne naliczanie opłat za zwrot po terminie.
- Prosty i intuicyjny interfejs.
- Szybkie sprawdzanie stanu konta po wpisaniu ID karty.
- Wyświetlanie listy wypożyczonych pozycji wraz z terminami zwrotu.
- Komunikacja z API w czasie rzeczywistym.
Do uruchomienia wymagana jest Java 21 oraz Maven (lub inny wbudowany wrapper).
cd API
./mvnw spring-boot:runSerwer uruchamia się na porcie 8080
Do uruchomienia wymagany jest Node.js.
cd Client
npm install
npm run devAplikacja dostępna pod adresem: http://localhost:5173
Uruchomienie bezpośrednie z terminala:
cd Kiosk
javac BibliotechKioskGUI.java
java BibliotechKioskGUI