Как правильно реализовать архитектуру веб-приложения?
Ребята, в общем, вопрос по архитектуре веб-приложения.
Моё веб-приложение на Angular должно осуществлять аутентификацию юзеров. Как его правильно реализовать?
1. Как монолитное приложение с Angular/Typescript и Express/Koa/JWT/Socket - оно само для себя и фронтенд, и бекенд. Обращается к базе напрямую с клиента.
2. Разделить приложение на два - сервер на Express/Koa/JWT/Socket и отдельно фронтенд-клиент на Angular/Typescript? Клиент обращается по REST к серверу, тот выполняет всю мокрую работу с БД.
Какой путь выбрать? Как вы вообще решаете проблему, когда ваше веб-приложение дорастает до возможностей авторизации и прочих операций с БД?
P. S. Сейчас я умею понемногу и CI/CD, и фронт, и тесты, но до бека не доходил ни разу.