Skip to content

Клиент-серверное приложение для управления коллекцией объектов

Notifications You must be signed in to change notification settings

KamilIskhakov/Client-server-application-Iskhakov

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Клиент-серверное приложение для управления коллекцией

Описание

Проект представляет собой клиент-серверное приложение, предназначенное для управления коллекцией объектов Person. В качестве системы постоянного хранения используется база данных PostgreSQL с доступом через Hibernate ORM. Взаимодействие клиента с сервером реализовано посредством командной строки и сокетов дейтаграмм (UDP). Приложение поддерживает многопоточность, аутентификацию и авторизацию пользователей с использованием токенов JWT и хэширования паролей.


Основные характеристики

Многопоточность

  • Сервер обрабатывает параллельные клиентские запросы.
  • Используемые механизмы:
    • Кэшированный пул потоков для чтения запросов.
    • Кэшированный пул потоков для обработки логики.
    • ForkJoinPool для отправки ответов.
  • Реализация: Server.java (экземпляры ExecutorService).

Интеграция с базой данных

  • Хранение данных: PostgreSQL.
  • ORM: Hibernate.
  • Конфигурационные файлы:
    • hibernate.cfg.xml – настройки Hibernate.
    • Server.java – параметры подключения к БД.
    • DAO-классы: Server/src/main/java/Groupld/Server/collectionmanagers/DAO.

Аутентификация и авторизация

  • Хэширование паролей: алгоритм SHA-512.
  • Авторизация: JWT-токены.
  • Основные модули:
    • SQLUserManager.java
    • JWTService.java
    • UserTokenPolice.java
    • UsersHandler.java

Сетевое взаимодействие

  • Протокол: UDP.
  • Клиентская часть:
    • ClientSendToServer – отправка команд.
  • Серверная часть:
    • Receiver – прием команд.

Паттерны

  • Команды реализованы по шаблону Command.
  • Каждая операция над коллекцией инкапсулирована в отдельный класс.

About

Клиент-серверное приложение для управления коллекцией объектов

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published