Для доступа к данным есть система авторизации, которая позволяет войти в приложение с использованием учетных данных, полученных через веб-сервис. Если данные отсутствуют, то будет следует пройти процесс регистрации, который находится в стадии разработки. Приложение предоставляет пользователю возможность просматривать информацию о расписании, получаемой через API, с использованием удобного и интуитивно понятного интерфейса. Пользовательский интерфейс приложения разработан с фокусом на простоту и удобство использования. Все элементы интерфейса должны быть интуитивно понятными для пользователя.
- Retrofit2 - для работы с API и получения данных о расписании.
- Converter Moshi - для сериализации/десериализации данных между JSON и объектами.
- Koin - для управления зависимостями в приложении, что обеспечит хорошую масштабируемость и чистоту кода.
- Navigation Compose - для реализации навигации между различными экранами.
Приложение разработано по принципам Clean Architecture
, что обеспечивает четкое разделение слоев и ответственностей, делает код более читаемым и поддерживаемым. При разработке приложения также учитывается принцип KISS
, то есть стремление к простоте и минимализму в процессе разработки, что позволяет избежать излишней сложности, сохранить код чистым, сделать приложение легким для понимания.
Тесты
-
Авторизация:
- Вход с корректными данными происходит успешно.
- Проверка поведения при неправильно введенных данных.
-
Загрузка данных из API:
- Успешная загрузка данных при корректной работе API.
- Обработка ошибок в случае недоступности API или ошибок соединения.
-
Отображение расписания:
- Верный вывод всех данных в удобочитаемом формате.
- Проверка внешнего вида данных (цвета, шрифты, размещение).
-
Фильтрация по поисковой строке:
- Фильтрация данных происходит корректно в зависимости от введенной строки.
- Проверка реакции интерфейса при отсутствии результатов поиска.
-
Навигация:
- Проверка работы выдвижной панели.
- Проверка перехода в личный кабинет.
- Проверка переходов между экранами.
-
Интерфейс:
- Проверка качества отображения данных на разных устройствах и разрешениях экрана.
- Убедиться в применимости UI-дизайна.
-
Взаимодействие пользователя:
- Проверка реакции на действия пользователя (перетаскивание, нажатие, свайп).
- Убедиться в корректной работе анимаций.
-
Пользовательский опыт:
- Убедиться, что процесс авторизации удобен и интуитивно понятен.
- Убедиться, что фильтрация данных происходит легко и быстро.
В итоге разработанное приложение предоставляет пользователю удобный и эффективный способ просмотра информации о расписании с возможностью авторизации и использования API для получения актуальных данных.