Jest to prosta aplikacja internetowa zbudowana w oparciu o technologie Spring 5 oraz Angular 7 i jednocześnie projekt zaliczeniowy na przedmiot Programowanie aplikacji internetowych
Elementy aplikacji
- Integracja z bazą danych H2 - serwer komunikuje się z bazą danych w celu zapisywania i odczytywania danych dotyczących użytkowników, grup i wiadomości. Cała komunikacja oparta jest na Spring JPA i Spring Data.
- Rejestracja nowych użytkowników - Aby móc korzystać z aplikacji, konieczne jest posiadanie konta. Specjalny formularz pozwala na podanie danych takich jak nazwa użytkownika, hasło. Dane te są poddawane sprawdzeniu i zapisywane do bazy danych aplikacji.
- Autoryzacja użytkownika poprzez JSON Web Token - Każdy użytkownik logujący się do systemu otrzymuje od serwera wygenerowany token, będący jednoznacznym identyfikatorem użytkownika. Token taki jest zapisywany w pamięci przeglądarki i dodawany poprzez interceptor do każdego zapytania do serwera. Serwer z kolei, sprawdza istnienie tego tokenu w nagłówku http, sprawdza jego poprawność,a także czy okres jego ważności nie minął. Na podstawie tego serwer udostępnia zasoby, bądź odsyła użytkownika do strony logowania w celu potwierdzenia tożsamości.
- REST services - Warstwa frontowa komunikuje się z serwerem za pomocą kilku dostępnych metod.
- Single Page Application - Dzięki wykorzystaniu routingu warstwa frontowa to jedna strona internetowa w sposób dynamiczny reagująca na zmianę danych
- Responsywność - Wygląd aplikacji powstał w oparciu o framework Bootstrap i jest w pełni responsywny
Aplikacja pozwala na prowadzenie konwersacji pomiędzy zalogowanymi użytkownikami poprzez grupy. Użytkownik może zasubskrybować dowolną grupę, jak również ją opuścić