Обзор архитектуры и сервисов Тинькофф-журнала

Тинькофф-журнал выпускает статьи уже 5 лет. За это время из блога на Вордпрессе он вырос в большую самодельную систему из десятков проектов и инструментов.



Сайт Т—Ж работает благодаря разным сервисам:

Движок сайта — Меркурий. Меркурий собирает страницы, которые видит читатель журнала. Часть компонентов страницы он переводит в разметку и стили из собственных джанго-шаблонов. Меркурий сам хранит и обрабатывает авторский контент — изображения, статьи, редакционную структуру материалов и статистику опубликованного контента. Редакторам и верстальщикам он предоставляет интерфейс для управления всем этим добром — админку.



Фронтовый монорепозиторий, или просто монофронт. Чтобы не разрабатывать кучу кастомных страниц, решили вложиться в полноценный фронт — Монофронт.Моно — потому что в один проект собрали: Интерфейс регистрации и авторизации/Комментарии/Футер/Хэдер/Формы подписки. А еще в нем обрабатывается логика веб-трекинга пользовательских событий: откуда пользователь пришел на страницу журнала, что именно он на ней делает.



Соцплатформа.В Т—Ж есть не только авторский, но и пользовательский контент. Пользователи регистрируются, комментируют статьи, подписываются, связываются с редакцией через специальные анкеты. Все это происходит благодаря соцплатформе. Чтобы зарегистрировать или авторизовать пользователя, соцплатформа взаимодействует с АПИ соцсетей. У себя она сохраняет ценные пользовательские данные, в том числе персональные: имя, фамилию, почту.



Урания — образовательная платформа. Тут ведется работа с сущностями: студент, курс, урок, экзамен. Чтобы их создавать и редактировать, разработали отдельный бэкэнд и админку — Уранию.



Фичеры — калькуляторы, тесты и прочие интерактивы. В Т—Ж выходят калькуляторы, карты, тесты, опросы и другие интерактивные материалы. Это такие отдельные фронтовые приложения. Разрабатывается отдельной командой и не затаскивается в Монофронт.



Мобильные приложения. У приложения отдельный бэкэнд. Там обрабатывается контент, который есть только в приложении: аудио уроков и статьи для дополнительного чтения после курса. Этот же бэкэнд используем для пуш-уведомлений.



Медиасервис. Основные медиафайлы в журнале — изображения. Медиасервис проверяет каждое изображение, перегоняет в webp и png, оптимизирует размер, обрезает под шаблоны из конфига и заливает на CDN. В ответ он получает ссылки на результат обработки — изображения разных форматов и размеров.



Статья

#Архитектура