Skip to content

RMashkalev/ShiftTestTask

Repository files navigation

Тестовое задание. Android. SHIFT lab CFT

Требования

  1. Допускаются языки: Kotlin, Java.
  2. Исходный код выполненного задания должен быть размещен в git репозитории
  3. Проект должен собираться и запускаться.
  4. Будет большим плюсом если вы будете следовать принципам SOLID, Clean Architecture и придерживаться паттерна MVVM или MVI.

Экран 1. Регистрация

  1. На экране находится 6 элементов:
  2. Поля для ввода имени и фамилии.
  3. Поле для ввода даты рождения.
  4. Поля для ввода пароля и его подтверждения.
  5. Кнопка «Регистрация».
  6. «Регистрация» не может быть завершена, пока все данные не будут валидны. Правила для корректных данных придумайте сами. Например, фамилия не может содержать менее двух символов, пароль должен содержать цифры и буквы верхнего регистра, и т.д.
  7. Если данные валидны, то мы переходим на «Главный экран» приложения.

Экран 2. Главный экран

  1. На экране 1 элемент — кнопка «Приветствие».
  2. По нажатию на эту кнопку появляется модальное окно, в котором находится приветствие пользователя с указанием имени, которое было введено на самом первом экране регистрации.

* Необязательно

  1. Сделать выбор даты рождения интерактивным
  2. Уведомлять/показывать сообщение о том, где именно была допущена ошибка при «Регистрации».
  3. Кнопка «Регистрация» должна быть недоступна для нажатия, пока все поля не будут заполнены.
  4. Реализовать кеширование данных и сохранение сессии: если пользователь единожды прошёл регистрацию, то следующий запуск приложения будет начинаться с главного экрана.

UseCase Диаграммы

ShiftTestTask(app,domain,data)

ShiftTestTaskUml

Демонстрация работы

Регистрация

cfttesttask1

Неправильные данные в полях

cfttesttask2

Правильные данные в полях

cfttesttask3

Интерактивный календарь

cfttesttask6

Главный экран

cfttesttask4

Приветствие пользователя

cfttesttask5