Шаблон презентации для защиты.
Вы можете выбрать тему приложения самостоятельно, это может быть клон Кинопоиска, трекер курсов валют, todo-лист и т.п. Ограничений по темам нет, но есть обязательные требования по функциональности:
- В приложении должно быть минимум 3 экрана
- Добавьте в приложение сетевое взаимодействие. Вы можете использовать открытые API, например, из этого списка Public-APIs, использовать BaaS сервисы, либо реализовать свой бэкенд
- Большое внимание уделите дизайну приложения, он должен быть консистентным и аккуратным
- Проект должен быть реализован по
Single Activity Applicationпаттерну, тоесть в приложении должна использоваться только одна активити, остальные экраны реализуются через parent/child фрагменты - Навигацию в SA приложении можно организовать с использованием библиотеки
Navigation Component,Cicerone, либо реализовать свое решение - Для презентационного слоя используйте архитектуру
MVVMна Android Architecure Components(ViewModel+LiveData/StateFlow) - Обязательно используйте DI для организации архитектуры приложения. В качестве готовых решений вы можете использовать
Dagger2илиHilt - Для асинхронных операций используйте
Kotlin Coroutines - Для организации сетевого взаимодействия используйте
Retrofit. Для сериализации/десериализации json используйтеGson/Moshi/Kotlin Serialization - Остальные фреймворки и технологии не регламентируются, но для получения максимально подробной и полезной обратной связи советую ориентироваться на библиотеки, которые мы проходим на уроках
- Покройте unit тестами 2 класса. Напишите UI тесты на один пользовательский сценарий