Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/japersik/itmo_robotsystem_lab8
Лабораторная работа #8 по программированию (финальная)
https://github.com/japersik/itmo_robotsystem_lab8
Last synced: about 1 month ago
JSON representation
Лабораторная работа #8 по программированию (финальная)
- Host: GitHub
- URL: https://github.com/japersik/itmo_robotsystem_lab8
- Owner: japersik
- Created: 2020-05-14T18:26:02.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-05-20T21:39:33.000Z (over 2 years ago)
- Last Synced: 2023-03-09T06:26:00.026Z (almost 2 years ago)
- Language: Java
- Homepage:
- Size: 1.66 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ITMO_RobotSystem_lab8
## Лабораторная работа #8 по программированию![alt text](picture.png)
Модуль|Назначение
----- | ----
[`Server`](Server) | Серверный модуль
[`Client`](Client) | Клиентское приложение с графическим интерфейсом
[`Spamer`](Spamer) | Консольный спам-клиент
------------## Серверный модуль:
### Работа:
- Настройка сервера происходит в [.properties](Server/src/main/resources/config.properties) файле, создаваемом при первом запуске программы
- Логирование сервера реализовано при помощи 'log4j'
- Хранит объекты в таблицах базы данных, создаваемых при инициализации
### Многопоточность:- Для многопотчной обработки полученного запроса используется`Fixed thread pool`
- Для многопоточной отправки ответа используется `Fixed thread pool`
- Для синхронизации доступа к коллекции используется синхронизация чтения и записи с помощью `java.util.concurrent.locks.ReadWriteLock`### Взаимодействие с почтовым сервером:
- Режим работы почтового модуля устанавливается в [.properties](Server/src/main/resources/config.properties) файле.
- Отправка письма происходит при регистрации нового пользователя на указанный почтовый адрес.
- Письмо, содержащее логин и проверочный код, формируется из [html](Server/src/main/resources/emailTemplate.html) шаблона
____
## Клиентский модуль:
### Особенности:
- Реализован с использованием Kotlin и TornadoFX (для запуска необходима установка javaFX)
- Реализует возможность соединения с сервером, авторизации, регистрации, ввода проверочного кода и работы с коллекцией
- Отображает объекты в виде сортируемой таблицы с возможностью поиска и в графическом представлении на координатном поле
- Поддерживает команды добавления, удаления и изменения объектов, а так же выполнения скрипта, содержащего эти команды в файле.
### Локализация
- Реализована поддержка 5 языков: русского, английского, французского, испанского(Гондурас) и финского
- Переключение возможно осуществить в любой момент работы программы
____
## Соединение:
Для связи клиента и сервера используется `UDP`, реализованный в пакете [Connector](Connector)