Skip to content

Repository files navigation

Подробное описание работы — на сайте ЛРМК (нажмите "зайти гостем")

Порядок работы:

  1. Файл sqldelight/.../user.sq — На языке SQL (диалект SQLite) опишите команды создания, наполнения и редактирования таблицы пользователей для локальной базы данных;
  2. Файл Server.kt — На языке Kotlin с использованием фреймворка Ktor-сервер опишите эндпоинты серверного API, обеспечивающие все необходимые для выполнения задания функции;
  3. Файл Client.kt — На языке Kotlin с использованием фреймворка Ktor-клиент опишите клиентские функции доступа к серверному API;
  4. Файл Application.kt — На языке Kotlin с использованием фреймворка Compose опишите интерфейс пользователя в соответствии с заданием;
  5. Файл Editor.kt — В отдельный файл может быть вынесен экран редактирования пользователей.

В данном проекте уже подключены все необходимые для работы библиотеки. Он объединяет в одном приложении как серверную, так и клиентскую стороны. Это сделано исключительно для простоты разработки и проверки работы. Проект оснащён встроенными тестами для проверки правильности создания базы данных, эндпоинтов серверного API и клиентских функций доступа к ним.

Если проект не собирается из-за неправильной версии Java, укажите стандартное расположение Program Files\JetBrains\IntelliJ IDEA Community Edition\jbr в настройках SDK вашего проекта, либо скачайте и установите Java OpenJDK не ниже 21 версии.

Если после создания проекта в исходных файлах выделяются ошибки, выполните пересборку проекта (например, кнопка 🐁Gradle справа → ↺Обновить)

Ниже приводится полный текст задания демонстрационного экзамена (модуль №3).

Модуль № 3: Проектирование и разработка информационных систем

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

Разработайте форму для авторизации зарегистрированных пользователей с ролями "Администратор" и "Пользователь". Форма должна содержать поля текстовые поля логин, пароль и кнопку "Войти". Поля "Логин" и "Пароль" должны быть обязательными для заполнения. При неверно введенных данных, пользователь должен получить сообщение об ошибке "Вы ввели неверный логин или пароль. Пожалуйста, проверьте ещё раз введенные данные".

После успешной авторизации пользователь должен получить сообщение "Вы успешно авторизовались".

При аутентификации связка «логин/пароль» должна совпадать с одной из записей в таблице "Пользователи".

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

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

Если в течении 3-х раз подряд был неверно введен логин/пароль, то учетная запись блокируется и при повторной авторизации должно появляться сообщение "Вы заблокированы. Обратитесь к администратору".

Так же учетная запись должна блокироваться если пользователь не авторизовался в течение 1 месяца.

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

Графический интерфейс необходимо разработать в соответствии с требованиями к разработке.

Разработайте проектную документацию на разработанный функционал. Включите описание функционального назначения, используемые методы с указанием параметров.

About

Демоэкзамен по модулю 3

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages