Курсовая работа по дисциплине: прикладное программирование
Клиент-серверное приложение. В качестве клиента Android приложение. Сервер написан на Go, тут смесь gRPC+Rest. Ссылка на сервер - https://github.com/DenisPopkov/RusseLiteratureServer.
- DI (Hilt)
- Jetpack Compose Based UI
- Jetpack Compose Navigation Component
- Gradle Configuration (Version catalog, gradle convention plugin)
- Coil
- Multi-module architecture
- Coroutines
- MVI
- Rest+gRPC via Retrofit+Google grpc library
├── app.............. Точка входа в мобильное приложение
│ ├── MainWindow.... Координирует всю навигацию в приложении
│ └── MainNavBar......... Нижнее навигационное меню
├── core......... Независимая логика проекта/компонентов
│ ├── datastore.......... Логика для сохранения мелких локальных файлов
│ ├── nav....... Логика для навигации
│ ├── data....... Бизнес логика
│ ├── domain....... Прослойка между UI и бизнес логикой для упрощения взаимодействия
│ ├── ui
│ │ ├── components.. Базовые компоненты для всего UI
│ │ ├── ui.. Логика взаимодействия с состояниями, абстракция для MVI
├── features....... Все экраны разбиты на модуль-фичи
│ ├── auth.......... Фича авторизации
│ ├── home.......... Фича главного экрана
│ ├── search.......... Фича поиска
│ ├── fave.......... Фича избранного
│ ├── settings.......... Фича настроек
│ ├── clip.......... Фича клипов
│ ├── quiz.......... Фича теста
│ ├── splash.......... Фича сплэш экрана
├── gradle-plugins.......... Convention gradle плагин для проброса зависимостей между модулями
└── theme............ Тема приложения