Могу по
этой ссылке предложить, как пример, свой проект, пока еще не доработанный, но в котором довольно легко можно увидеть архитектуру постройки приложения.
Стоить заметить, что такую же архитектуру я использую на большом коммерческом проекте с API/React/Redux, то есть, полностью подходящим к вашему описанию.
Коротко о приложении:
- Бандл разделен на vendors и ваш код
- Роутинги организованы в виде plain-objects с динамической подгрузкой ресурсов на каждом роуте - это довольно неплохо дробит бандл с вашим кодом
- Redux код спроектирован по паттерну redux-ducks. Мне облегчило жизнь, надеюсь и вам поможет.
Связь приложения с API, опять же, коротко:
Есть smart и dumb компоненты. Smart-компоненты вызывают необходимые actionCreator'ы из папки redux/modules. ActionCreator'ы обращаются в соответсвующий модуль в папке api, где происходит обращение к серверу, откуда в Promise'ах возвращаются данные опять же в actionCreator, где action диспатчится с данными, после чего reducer обновляет данные в store. Smart-компонент обновляется и обновляет все свои dumb-компоненты, которые включенные в него, передавая им полученные данные.
Используя написанное, пройдитесь по коду и надеюсь все прояснится. Удачи.