Aplikacja Client-Server || Part 2 || Zarządzanie użytkownikami
🚀

Aplikacja Client-Server || Part 2 || Zarządzanie użytkownikami

notion image
 
 

Wprowadzenie


Poprzednio rozocząłem projekt od napisania prostego kodu, który umożliwiał podstawową komunikację pomiędzy klasami Client oraz Server. Tym razem, w ramach kolejnego etapu rozwoju aplikacji zaimplemenowałem zarządzania użytkownikami. Powstało kilka funkcjonalności zapewniających większą użyteczność, a także bezpieczeństwo programu. Wprowadziłem zarządzanie użytkownikami z różnicowanymi uprawnieniami oraz opcję wysyłania wiadomości z pewnymi ograniczeniami, o których zaraz opowiem.

 

Wykonane prace


1. Zaplanowałem zadania do wykonania, oznaczając je jako Issues na GitHubie

2. Wprowadziłem system zarządzania użytkownikami wraz z obsługą uprawnień: admin (zarządza całą aplikacją) oraz user (dostęp ograniczony do własnych danych)

3. Opracowałem podstawową logikę do wysyłania i odbierania prywatnych wiadomości (do 255 znaków) pomiędzy użytkownikami. Skrzynka odbiorcza będzie przechowywała maksymalnie 5 nieprzeczytanych wiadomości

4. Dodałem funkcjonalność serializacji oraz deserializacji danych użytkownika. Informacje będą bezpiecznie zapisane w formacie JSON na dysku

5. Nowo utworzone klasy zostały odpowiednio przyporządkowane do konkretnych pakietów

6. Rozpocząłem wdrażanie obsługi wyjątków, co wymaga jeszcze znacznej poprawy

 

Struktura kodu


Klasy Client oraz Server:

  • Client - odpowiedzialny za nawiązywanie połączenia i komunikację z serwerem
  • Server - nasłuchuje na przychodzące połączenia oraz obsługuje żądania od klientów

Pakiet Exceptions:

  • Zawiera początkową logikę niestandardowych wyjątków, umożliwiając lepszą obsługę błędów w aplikacji

Pakiet Mail:

  • Oferuje prosty system pocztowy, który zapewnia funkcjonalności niezbędne do zarządzania mailami, w tym wysyłanie, odbieranie i przechowywanie wiadomości

Pakiet User:

  • Zawiera system zarządzania użytkownikami, w tym funkcje logowania i zarządzania uprawnieniami użytkowników

Klasa Utils:

  • Zbiór klas pomocniczych, które ułatwiają realizację różnych zadań pomocniczych i wspólnych operacji w całej aplikacji
 

Repozytorium GitHub


Client-Server-Application
jakubBoneUpdated Sep 2, 2024

Zapoznaj się aktualnym projektem na GitHubie, do którego regularnie wprowadzam nowe zmiany.

 

Jakie dalsze plany?


1. Ulepszyć mechanizm przetwarzania danych wejściowych w klasie Client.

2. Usprawnić mechanizm obsługi żądań klienta w klasie Server:

  • procedury rejestracji oraz logowania,
  • procedury wysyłania, odbierania i czytania wiadomości.

3. Udoskonalić i wdrożyć adekwatne zarządzanie wyjątkami.

 
 
 
 

Śledź moją aktywność na LinkedIn


 
 
 
 
 

Zapisz się na mój newsletter


👋
Jeśli masz jakieś sugestie lub pytania, proszę napisz do mnie wiadomość: kuba@javampokaze.pl