Задача:
1) Серверная часть должна быть построена на Spring Boot.
2) Возвращать статические html страницы. Из-за SEO заказчику вариант с SPA не подходит (даже после предложенных способов решения).
3) Использовать обновляемые компоненты страницы.
4) Выполнять асинхронные запросы на сервер.
5) Spring Security.
Ребят, предложите варианты решения и лучшие инструменты. На данный момент имею следующую архитектуру:
1) Сервер возвращает статические страницы используя (thymeleaf) (рисунок 1).
Рисунок 1 - controller thymeleaf
2) Существует RestController - api для предоставления данных в формате json (рисунок 2).
Рисунок 2 - RestController
3) Существует подключенный vue.js для обновления отдельных компонентов страницы (таблицы) (рисунок 3).
Рисунок 3 - подключенный vue.js
Хотелось бы понять как делается это в реальных проектах, множество материала на git и каждый делает всё по своему.
Чтобы вы посоветовали?
Можно ли построить полностью клиента на Angular 5 и использовать только JSON api без возвращения сервером статических страниц (не домашний проект).
И как правильно размещать на хостинге такую архитектуру как frontend - backend - bd?
Спасибо за внимание.