Skip to content

cooleck/MessengerKotlin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MessengerKotlin - клиент/серверное приложения (мессенджер), предназначенное для коммуникации между пользователями (клиентами) посредством передачи текстовых сообщений в чатах. В возможности клиентской части приложения входит поддержка авторизаиции и регистрации пользователей, создание и ведение чатов с другими пользователями, просмотр истории сообщений в чатах. Пользовательские чаты реализованы на основе протокола WebSockets. В серверную часть приложения входит поддержка возможностей клиентской части, хранение и получение авторизационных данных пользователей, списка чатов пользователей, историй сообщений пользователей.

Проект предназначен для ознакомления с фреймворком Ktor языка программирования Kotlin. Проект написан в учебных целях.

Сборка проекта осуществляется отдельно для клиентской и серверной части. Обе части собираются с помощью системы автоматической сборки Gradle. Все файлы настройки проекта для сборки обеих частей находятся в корневых папках каждой из частей проекта. Для сборки каждой из частей достаточно войти в корневую папку подпроекта и запустить задачу build для Gradle:

cd ./MessegnerClient && ./gradlew build

cd ./MessengerServer && ./gradlew build

Для запуска соответвующих подпроектов требуется выполнить схожие действия и запустить задачу run для Gradle:

cd ./MessegnerClient && ./gradlew run

cd ./MessengerServer && ./gradlew run

Для корректной работы серверной части приложения вышеперечисленных действий достаточно.

Далее будет описаны действия для работы с консольным UI клиентской части приложения: При запуске клиентской части пользователю следует ввести логин и пароль. Если пользователь с таким логином уже зарегистрирован в мессенджере, то будет произведена проверка паролей и в случае корректного ввода пользователь получит приветственное сообщение, в противном случае система попросит ввести корректные авторизационные данные. В случае если пользователь с заданным логином не будет найден в системе, то в системе будет зарегистрирован новый пользователь с заданными авторизационными данными и будет произведен вход в систему под его логином.

После авторизации клиенту будет предложено ввести имя пользователя чат с которым, он хочет открыть или создать. Если введенное имя не будет найдено в системе, то у клиента будет запрошен повторный ввод. В случае если чат не существовал в системе, он будет создан. В случае если чат был создан ранее, пользователь получит всю историю сообщений чата.

Для выхода из чата в меню выбора чатов пользователю следует ввести команду /exit. Для выхода из приложения клиента пользователю следует ввести команду /exit в меню выбора чатов.

Для завершения работы серверной части приложения следует нажать Ctrl + C в терминале.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages