Как организовать структуру mvc приложения?

Как лучше всего организовать классовую структуру mvc приложения?

Если mvc, то в простом приложении 3 пакета: controller- класс (классы) принимают запрос от пользователя и передают в модель. В ооп mvc в контроллере нет бизнес логики. model - в нем структуры данных, бизнес логика (работа с api в твоем случае), парсинг. Можно это разделить на подпакеты внутри model. View - класс (классы) принимают готовый объект (объекты) и выводят на экран, так как нужно.

Если приложение небольшое и MVC, то я бы рекоммендовал организовать структуру классов, похожую на 3-х шаровую модель, а именно:

1. Presentation Layer - верхний уровень взимодействия с пользователем, уровень-представление. Имеет связь только со средним уровнем.

2. Business Logic Layer - уровень реализации всей логики. Промежное звено между базой данных и представлениями. именно на этом уровне проходит реализация всех методов.

3. Data Access Layer - нижний уровень, уровень-база данных. Здесь описаны все сущности, модели, которые будут использоваться в среднем уровне бизнес-логики. Напрямую данные с этого уровня ни коим образом не должны быть переданы в верхний уровень-презентации.