Skip to content

FredNekrasov/TimetableViewer

Repository files navigation

Приложение для просмотра расписания учебного заведения

Описание приложения v1:

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

Использованные библиотеки:

  1. Retrofit2 - для работы с API и получения данных о расписании.
  2. Converter Moshi - для сериализации/десериализации данных между JSON и объектами.
  3. Koin - для управления зависимостями в приложении, что обеспечит хорошую масштабируемость и чистоту кода.
  4. Navigation Compose - для реализации навигации между различными экранами.

Приложение разработано по принципам Clean Architecture, что обеспечивает четкое разделение слоев и ответственностей, делает код более читаемым и поддерживаемым. При разработке приложения также учитывается принцип KISS, то есть стремление к простоте и минимализму в процессе разработки, что позволяет избежать излишней сложности, сохранить код чистым, сделать приложение легким для понимания.

Тесты

Чек-листы для функционального тестирования:

  1. Авторизация:

    • Вход с корректными данными происходит успешно.
    • Проверка поведения при неправильно введенных данных.
  2. Загрузка данных из API:

    • Успешная загрузка данных при корректной работе API.
    • Обработка ошибок в случае недоступности API или ошибок соединения.
  3. Отображение расписания:

    • Верный вывод всех данных в удобочитаемом формате.
    • Проверка внешнего вида данных (цвета, шрифты, размещение).
  4. Фильтрация по поисковой строке:

    • Фильтрация данных происходит корректно в зависимости от введенной строки.
    • Проверка реакции интерфейса при отсутствии результатов поиска.
  5. Навигация:

    • Проверка работы выдвижной панели.
    • Проверка перехода в личный кабинет.
    • Проверка переходов между экранами.

Чек-листы для тестирования UI:

  1. Интерфейс:

    • Проверка качества отображения данных на разных устройствах и разрешениях экрана.
    • Убедиться в применимости UI-дизайна.
  2. Взаимодействие пользователя:

    • Проверка реакции на действия пользователя (перетаскивание, нажатие, свайп).
    • Убедиться в корректной работе анимаций.
  3. Пользовательский опыт:

    • Убедиться, что процесс авторизации удобен и интуитивно понятен.
    • Убедиться, что фильтрация данных происходит легко и быстро.

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