Данное приложение реализует мультимодульную архитектуру. Модуль основного приложения - app
, а сервисы представлены в виде так называемых dynamic features
модулей. Поэтому если нужно добавить новый сервис, то добавляется именно новый feature-модуль. В главном модуле (app
) будут изменения только в двух местах - файл build.gradle.kts
(появляется новая фича в списке фичей) и AppsFragment
(в списке элементов там должен появиться новый - добавленный сервис)
Обязательно использовать Dagger 2
- именно так с помощью технологии Dependency Injection мы можем пробрасывать токен из основного приложения в модули-сервисы. В остальном выбор за вами, однако я настоятельно рекомендую использовать язык Kotlin и придерживаться примерно того же стэка технологий и архитектурных решений, что используются в модуле app