Как правильно есть в дефолтном конструкторе приложения. Создайте новый проект и поставьте галочку генерировать бэкенд.
Если кратко то.
1. Бэк соединяется с БД и готовит данные, отдавая только json, попутно делая кучу задач
2. Сервис в вашем мобильном приложении делает запросы
3. ViewModel - предоставляет данные для отображения, содержит команды для взаимодействия, кэширует данные , что бы лишний раз не дергать 2.
4. View просто отрисовывает ViewModel, отображает диалоги, прогресс бары и все остальное что относится к UI.