Представляет собой Next.js SSR приложение с React Query и axios. В SSR рендерится большая часть запросов. Все стили на (S)CSS, без либ. Я не фронтендер (и не стремлюсь им стать, хотя изучать довольно интересно, особого удовольствия синтаксис жса и то, как он работает, мне не приносит).
Бэкенд состоит из нескольких микросервисов и API Gateway + API Composer, а так же некоторых других third party приложений
Сервис для работы с аккаунтами. Никак не связан с Keycloak. Хранит дополнительную информацию об аккаунте. Так как тут есть поиск по сабсетам пользователей (друзья, подписчики и тд), пришлось перенести всю основную информацию сюда (т.к. у Keycloak нет запроса пользователей по списку id)
Сервис для работы с файлами и их данными. Предоставляет косвенное взаимодействие с S3 хранилищем (в основном presigned_url'ы и метаданные). Загрузка происходит через фронт напрямую по ссылке в S3 API. В будущем планируется постобработка этих файлов, т.к. на текущий момент они не валидируются вообще никак.
Сервис для взаимодействия с новостями. Сюда входит CRUD новостей, комментариев и реакций.
Сервис для работы с уведомлениями. UI уведомления и шаблоны для уведомлений.
Сервис шлюз других сервисов. Проверяет авторизацию, реализует бизнес логику между несколькими сервисами в рамках одного запроса, а так же собирает данные в обогащенные структуры для фронтенда.
Редис используется для кеширования запросов к API Gateway.
S3 хранилище.