что такое тинькофф журнал
Как написать статью в Т—Ж
Привет и добро пожаловать в Т—Ж!
Это инструкция для новых авторов о том, как написать статью в Тинькофф-журнал.
Что вы узнаете
Есть два способа написать в Т—Ж: за деньги и просто так
Некоторые материалы из тех, что мы публикуем на сайте, написаны нашими читателями. В таких текстах нет матчасти и экспертизы — только опыт и удивительные истории. Поэтому они не оплачиваются.
Если вы не согласовывали тему с редактором, а отправили свою историю через анкету — это именно такой случай. Если вы хотите написать экспертный материал и получить гонорар — читайте все, что написано на этой странице, и отправляйте заявку.
Если вам интересно рассказать свою историю, поделиться методом экономии или просто поговорить о том, что вас бесит, и непринципиален гонорар — вам сюда.
О чем вы хотите написать?
Инвестиции
Тут мы рассказываем обо всем, что может сохранить или приумножить ваши деньги: разбираем отрасли и компании на бирже, оцениваем инвестидеи, выбираем между вкладами, биржей и недвижимостью, рассуждаем, во что стоит инвестировать, а во что — точно нет.
Шеф-редактор раздела инвестиций — Никита Юкович. Если хотите написать материал про инвестиции, заполните заявку на статью и напишите Никите в «Телеграме» — @nixability.
Вот что можно написать на эту тему:
Если ваша идея не укладывается в эти примеры — все равно пишите Никите, что-нибудь придумаем.
Путешествия
В этом разделе мы пишем о поездках по России и другим странам, эмиграции, учебе за границей и законах, которые волнуют туристов. Шеф редакции путешествий — Настя Осян. Если хотите написать статью, заполните заявку и пришлите на нее ссылку Насте в Телеграме — @anastasia_osyan.
Вот главные рубрики, в которые часто ищем авторов:
Если ваша история не укладывается ни в одну рубрику, это нестрашно: мы можем написать почти на любую тему, связанную с путешествиями. Главное — иметь опыт по теме и фотографии. Гонорар зависит от формата статьи — обсудите его с Настей.
Эмиграция
У нас есть рубрика «Как у них», в которой вышло уже более 70 подробных статей про переезд в разные страны. Все они собраны на интерактивной карте.
Мы продолжаем искать авторов в эту рубрику. Больше всего нас интересуют города и страны, о которых у нас еще никто не писал. Важное условие: автор должен эмигрировать в страну из России и прожить в ней минимум полгода, прежде чем писать статью.
Шеф-редактор рубрики — Марина Сафонова, @rumspringa в «Телеграме».
Если вы переехали из России в другую страну и хотите рассказать, сколько стоит в ней жить, заполните заявку и пришлите в «Телеграме» Марине Сафоновой @rumspringa.
Бизнес
Тут выходят материалы для предпринимателей и всех, кто хочет открыть свое дело или развивать свой бренд. Мы рассказываем про важные для бизнеса новости, делимся личным опытом предпринимателей и разбираем юридические и налоговые тонкости, чтобы вести дела по закону.
Шеф-редактор раздела про бизнес — Варя Гурова, в «Телеграме» — @akkiloki.
Вот в какие рубрики вы можете написать:
Список тем этим не ограничивается: можно написать и о том, как настраивали какие-то процессы в компании, удачно провели переговоры, или о чем-то еще.
Заполняйте заявку и отправляйте ее в Варе Гуровой.
Право
Тут мы выпускаем все, что связано с защитой прав, судебными спорами, налогами, работой государства и законами. Делаем инструкции и разборы, которые помогают повысить юридическую грамотность и отстоять свои интересы.
Шеф-редактор редакции «Право» — Кристина Фролова. Если хотите написать материал на тему, связанную с правом, заполните заявку и напишите Кристине в «Телеграме»: @krfrlv.
Вот о чем можно написать:
Если у вас есть другая тема, которая не укладывается в эти примеры, обсудите ее с Кристиной в «Телеграме».
С юристами мы можем сделать такие материалы:
Если вы юрист, напишите Кристине Фроловой, в чем специализируетесь и на какую тему хотели бы написать статью. Что-нибудь придумаем.
Рубрика «Что делать?»
«Что делать?» — это бесконечная рубрика ответов на реальные вопросы читателей Т—Ж. Чтобы стать автором рубрики, надо быть экспертом — в правах, судах, ЖКХ, автомобилях, безопасности, новостройках, налоговых вычетах, ИП, ООО, самозанятости, кассовых аппаратах, личном бюджете и так далее.
Шеф-редактор рубрики — Кристина Фролова, @krfrlv в «Телеграме».
Вот примеры ответов в рубрике «Что делать»:
Все вопросы читателей и ответы экспертов можно посмотреть в потоке «Что делать?».
Больше всего вопросов у нас ждут юристов. Если вы юрист, скорее всего, у нас есть для вас подходящий вопрос. Напишите Кристине, на каких темах вы специализируетесь и на какие вопросы могли бы ответить.
Медицина
В медицинской редакции Т—Ж мы выпускаем тексты про здоровье, болезни, лекарства и все, что связано с белыми халатами и запахом хлорки.
Медицинский шеф-редактор — Оля Кашубина. Если хотите сделать материал о чем-то, связанном с темой здоровья, — заполните заявку на статью и пришлите в «Телеграм» @kashubina.
Какие темы нам нравятся:
Важно: медицинская редакция Т—Ж придерживается принципов доказательной медицины. Если вы никогда не пользовались Пабмедом и не знаете, что такое Аптудейт, возможно, нам будет сложно найти общий язык. Посмотрите статью про источники медицинской информации, которые мы уважаем.
Недвижимость
В этой редакции мы выпускаем все, что связано с недвижимостью: как купить и продать квартиру, взять ипотеку, построить дачу или заработать на ней. Еще рассказываем, как экономить на ЖКУ, сделать ремонт или обустроить дом.
Шеф-редактор раздела про недвижимость — Лена Евстратова. Если хотите написать материал на эту тему, отправьте заявку в «Телеграм»: @mnogobukoff.
Какие темы нам нравятся:
Если у вас есть своя тема, которой тут нет, — например, вы умеете декорировать участок, знаете, как расхламить квартиру и заработать на этом или как правильно паковать вещи при переезде, — заполните заявку и обсудите ее в «Телеграме» с Леной Евстратовой.
В детской редакции мы говорим об опыте родительства, но не забываем про деньги и право. Например, делимся с читателями списком необходимых вещей для отдыха с ребенком на пляже — и тут же показываем, сколько они стоят, а когда рассказываем о безопасности в детском саду, то закрепляем свои доводы санпинами и прочей нормативкой.
Вот о чем мы писали:
Шеф-редактор детской редакции — Полина Калмыкова. Если вы хотите рассказать о собственной методике воспитания и обучения, поделиться методами экономии на детской одежде или у вас есть другая идея для статьи — заполните заявку и отправьте ее Полине в «Телеграме» — @polli_trovaya. Придумаем, в каком формате лучше всего показать ваш опыт.
Образование / Учеба
Это редакция для всех, кто хочет выбрать школу, вуз, онлайн-курс или стажировку. Научиться новому, чтобы повысить свою ценность на рынке труда, сменить профессию или просто для удовольствия.
Мы собираем опыт читателей и советы экспертов, лайфхаки по обучению и интересные возможности для саморазвития.
Шеф-редактор — Кирилл Савинов. Если хотите написать про учебу, заполните заявку на статью и напишите Кириллу в «Телеграме» — @kirillsavinov.
Вот какие тексты вы могли бы нам писать:
Если у вас есть другая идея на тему образования — не стесняйтесь и заполняйте заявку.
Это раздел о нейробиологии и психологии денег, работы и бизнеса. Мы изучаем исследования о человеческом поведении, разговариваем с учеными и психологами, а также рассказываем о способах избежать ловушек мышления.
Шеф-редактор раздела «Мозг» — Полина Потапова. Если хотите написать материал в этот раздел, заполните заявку и отправьте Полине в «Телеграме»: @polinapotapova.
Вот в каких жанрах мы пишем:
Если у вас другая идея, заполняйте заявку и пишите. Обсудим!
Технологии
В этом разделе мы пишем о том, что происходит в мире технологий: как выбрать технику, настроить разные устройства, выжать максимум из старого гаджета или присмотреться к новому.
Шеф-редактор раздела — Артем Калеев. Если хотите написать про технологии, заполните заявку на статью и пришлите Артему в «Телеграме» — @temk1s.
Наши любимые форматы:
Если ваша идея не подходит под описанные выше форматы, не беда — пишите, вместе что-нибудь придумаем.
В этом разделе мы пишем обо всем, что в той или иной степени касается автомобилей. Стараемся писать так, чтобы читатель смог грамотно поговорить со специалистом автосервиса, с менеджером дилерского центра и с сотрудником ГИБДД.
Шеф-редактор раздела — Григорий Голованов. Если хотите написать про автомобили, заполните заявку на статью и пришлите ее в «Телеграм» — @gregoryskp.
Темы, которым мы всегда рады:
Не страшно, если ваша тема для статьи не подходит ни под один из этих форматов. Пишите, вместе что-нибудь придумаем.
Учебник
Есть три способа поучаствовать в создании курса:
А если сомневаетесь в теме, хотите узнать подробности или задать вопрос, пишите продюсерам Учебника — Оле Дуб и Вике Комаровой, @sister4you и @ctcpwrtr в «Телеграме».
Любая другая тема
Если у вас есть интересный личный опыт, связанный с деньгами, тратами, экономией, — вам в открытую редакцию. Статьи открытой редакции — это большие и подробные материалы о любом личном опыте читателей.
Если у вас есть уникальный опыт — например, вы ведете бюджет, шьете одежду, оптимизируете траты на еду, получили налоговый вычет, сняли идеальную дачу на лето, купили машину, выучились на повара, построили дом или отсудили у соседей деньги за залитую квартиру, — вы можете написать нам статью.
Шеф-редактор открытой редакции — Марина Сафонова, @rumspringa в «Телеграме». Статья начинается с заявки: вам нужно ее заполнить и показать редактору.
В статью для Т—Ж можно превратить практически любой опыт, как-либо связанный с деньгами. Заполните заявку и покажите ее Марине Сафоновой — в «Телеграме» @rumspringa.
Краткая таблица тем и шеф-редакторов
Про что хотите написать | К кому обратиться |
---|---|
Инвестиции, кредиты, ипотека, все, что связано с расчетами | Никита Юкович @nixability |
Бизнес: рассказать о своем деле, раскрыть экономику, показать ошибки и успехи | Варя Гурова @akkiloki |
Все про медицину и здоровье | Ольга Кашубина @Kashubina |
Все про путешествия по миру и России | Настя Осян @anastasia_osyan |
Жизнь в других странах и городах России | Марина Сафонова @rumspringa |
Все про недвижимость | Лена Евстратова @mnogobukoff |
Все про образование | Кирилл Савинов @kirillsavinov |
Технологии: все про устройства, приложения и что в принципе происходит в ИТ-мире | Артём Калеев @temk1s |
Все, что связано с автомобилями | Григорий Голованов @gregoryskp |
Все про то, как обезопасить себя и своих близких от мошенников | Петя Рябиков @peteryabikov |
Все про детей: опыт родительства | Полина Калмыкова @polli_trovaya |
Все про право | Кристина Фролова @krfrlv |
Все про мозг и психотерапию | Полина Потапова @polinapotapova |
Все про авто | Григорий Голованов @gregoryskp |
Все остальные темы с личным опытом | Марина Сафонова @rumspringa |
Курсы в Учебнике | Катя Летова @letova |
Как выбрать тему
Главная цель Т—Ж — помогать читателям не терять деньги, сберегать их и зарабатывать больше.
Наши любимые темы: накопления, инвестиции, траты, экономия, ведение бюджета, судебные споры, ЖКХ, налоги, вычеты, право, безопасность и разоблачение мошенников, медицина, имущество, недвижимость, путешествия. Еще мы очень любим писать про ипотеку, кредиты, банки и траты на что угодно: детей, животных, еду, увлечения, свадьбы, строительство, ремонт. В общем, все, что так или иначе относится к личным финансам.
Любой процесс, в котором в каком-то виде участвуют деньги, можно превратить в тему для статьи в Т—Ж.
Нам интереснее выпускать статьи, которые не потеряют актуальность ни через пять, ни через десять лет. Статьи про биткоин, например, быстро стали никому не интересны. А статьи про ведение бюджета, маткапитал, пенсию, ипотеку, покупку квартиры актуальны всегда.
Темы про политику мы не берем.
Главный критерий выбора темы — вам должно быть легко написать на нее статью. В идеале должно быть так:
Матчасть и вещдоки
Матчасть — это ссылки на авторитетные источники по теме статьи. В комментарии к статье, скорее всего, придут люди, которые тоже разбираются в этой теме — или думают, что разбираются. Они будут писать, что автор вообще ничего не понимает и что на самом деле все не так. Чтобы этого не случилось, нужна матчасть.
Самые простые примеры матчасти:
Если матчасти в вашей статье нет, а различные утверждения есть, редактор попросит вас найти пруфы, которые эти утверждения подкрепят. Например, если автор пишет, что во Франции сейчас огромная безработица, редактор попросит его найти официальную статистику и поставить ссылку на поля. Можно на английском или французском языке.
Вещдоки — это самые разные иллюстрации: скриншоты, фотографии, карты, сканы и шаблоны документов, чертежи и т. д. Их в статье должно быть много, потому что в Т—Ж любят все визуальное. Вещдоки подтверждают, что все, о чем вы пишете, действительно происходило именно так, и показывают читателю, куда смотреть, чтобы сделать так же.
Чужие фотки из интернета брать нельзя. Фотографии и сканы должны быть вашими. Сканы документов из интернета — иногда можно, но с большой осторожностью. Например, можно взять из интернета незаполненный бланк, а вот заполненный чужими данными, скорее всего, уже нельзя. Но можно для примера заполнить самостоятельно — выдуманными данными.
Чем больше вещдоков на старте, тем лучше.
Что еще может быть вещдоком:
Если у вас на иллюстрациях есть какие-то личные данные, которые важно закрыть, мы без проблем все заблюрим. Мы постоянно так делаем.
Редактура
Когда вы принесете черновик, с ним будет работать редактор. Будьте готовы к тому, что редактор задаст вам тысячу вопросов и серьезно перепишет ваш текст под наши стандарты.
У нас информационный, а не художественный стиль. Если автор пишет очень ярко и выразительно, редактор, скорее всего, оставит в статье только информацию. Это требование редполитики: для нас главное — информация, а не чувства. Если не знаете, что такое информационный стиль, вот полный справочник.
Мы стараемся минимизировать количество итераций, но иногда редактору все-таки приходится несколько раз отдавать статью автору на доработку. Бывает, что надо ответить на вопросы, о чем-то рассказать подробнее, добавить чисел, примеров, фото, статистики. Лучше отвечать на все вопросы редактора максимально подробно.
Если вам не нравится работать с нашим редактором — напишите ответсеку, мы все разрулим. Если вам кажется, что мы с вами решительно не совпадаем по стилю, — это нормально, нам просто сейчас не по пути.
Не стесняйтесь о себе напоминать. Бывает, что вы присылаете в «Телеграме» ответсеку или редактору ссылку на статью, а он не отвечает полдня, день, второй. Скорее всего, его там завалило и ваша ссылка уплыла вниз. Напишите еще раз, не стесняйтесь.
Оплата
Юридически мы можем работать только с гражданами РФ, у которых есть СНИЛС и налоговое резидентство РФ. Если вы гражданин Украины или Беларуси, у нас нет простого способа вам заплатить. Поднимите этот вопрос на старте, что-нибудь придумаем.
Все налоги платим мы. Деньги за статьи приходят в первой декаде следующего месяца. Сама статья может выйти хоть через неделю после этого, хоть через месяц, хоть через полгода: это определяется редакционным календарем и ситуацией в мире.
Оферта одна для всех. Если вам не подходит наша оферта, мы, к сожалению, не сможем с вами работать.
Что запрещено делать в Т—Ж
Обманывать редакцию. Мы не всегда можем выявить обман, но если выявляем, прощаемся с автором сразу и навсегда. Все его текущие статьи снимаем, невыплаченные гонорары отзываем.
Копировать чужой текст. Цитировать можно, плагиат сайтов вроде Википедии и прочих приносить нельзя. Чтобы процитировать, нужно указать автора и поставить ссылку. Если автор статьи выдает чужой текст за свой, мы прощаемся.
Собирать статью по материалам с форумов. Если автор собрал статью по материалам из интернета, выдав это за личный опыт или за общение с экспертами, мы считаем это обманом. Также мы максимально не приветствуем «Прессфид» и интервьюирование других людей, чей опыт автор потом выдает за свой.
Представительство. Мы не работаем с представителями авторов, их маркетологами, секретарями, агентами и гострайтерами. Каждый автор пишет статью самостоятельно и редактирует ее вместе с редактором. Также мы не будем писать статью, если автору ее заказал его руководитель, пусть даже и про личный опыт.
Перепечатывать статьи без разрешения редакции. Тексты, которые отредактировал и выпустил Т—Ж, принадлежат Т—Ж.
Прочее. На всякий случай добавим, что у нас нельзя печатать рерайты чужих статей и приносить тексты, которые уже опубликованы на другом сайте, в личном блоге, на форуме, в «Яндекс-дзене», в телеграм-канале и так далее.
Иногда мы снимаем статьи
Бывает так: все собрали, написали, отредактировали — и тут на последнем этапе шеф-редактор говорит: «Простите, статью заворачиваем, выпускать не будем». Мы стараемся так не делать, но изредка это случается. Вот почему такое бывает.
В статье обнаружился чей-то коммерческий интерес. Мы просто ненавидим, когда к нам приходят засланные сотрудники каких-либо компаний, поэтому любые пиар-статьи жестко заворачиваем. Это однозначная причина снять статью. В старой редполитике у нас был об этом специальный пункт.
Мы стараемся-стараемся, а получается ерунда. Например, у автора есть личный опыт, но нет никакой матчасти, никто из редакторов не может ее грамотно добавить — и в целом статья получается неубедительной. Это самое обидное, но тоже бывает.
Если мы завернули вашу статью, вы можете взять отредактированный текст и опубликовать где-то еще. В любом случае заворачиваем статьи мы крайне редко, поэтому стараемся все с автором подробно проговорить.
Обзор архитектуры и сервисов Тинькофф-журнала
Тинькофф-журнал выпускает статьи уже 5 лет. За это время из блога на Вордпрессе он вырос в большую самодельную систему из десятков проектов и инструментов. Я в Т—Ж управляю разработкой и сегодня в общих чертах расскажу об архитектуре журнала и сервисах, на которых тот работает.
Сайт Т—Ж работает благодаря разным сервисам:
Дальше — о том, что делает каждый из этих сервисов и как они взаимодействуют друг с другом.
Меркурий
Главное бэкэнд-приложение Т—Ж — его движок. Собственный движок нам понадобился, когда журнал в 2017 году переезжал с Вордпресса. Движок назвали Меркурием в честь древнеримского бога богатства и торговли, потому что мы же журнал про деньги. Написан на Python + Django.
Меркурий собирает страницы, которые видит читатель журнала. Часть компонентов страницы он переводит в разметку и стили из собственных джанго-шаблонов: контент статьи, страницу о журнале и поисковую выдачу. За компонентами поновее — шапкой, подвалом, профилем и прочим — он ходит в сервис-прослойку, который уже отдает разметку и стили с нашего фронта.
Меркурий сам хранит и обрабатывает авторский контент — изображения, статьи, редакционную структуру материалов и статистику опубликованного контента. Редакторам и верстальщикам он предоставляет интерфейс для управления всем этим добром — админку.
Верстальщики набирают статьи журнала в синтаксисе html. Для удобства админка еще поддерживает шорткоды — это как теги, только они разворачиваются в более сложные синтаксические конструкции с особыми стилями. Cписок сервисов из начала статьи в админке записан шорткодом [ol type=milchin][/ol].
Интерфейс, с которым работает верстальщик и иногда — редактор.
Главный экран админки. Та самая кнопка раньше отрубала поиск и рекомендации. Потом мы их оптимизировали, а кнопку оставили из ностальгических соображений.
Руководство по верстке материалов из шорткодов и прочего. У верстальщиков есть еще своя методичка в гугл-документах.
Когда в админке сохраняют статью, по ней проходит типограф. Это скрипт, который меняет часть конструкций в тексте так, чтобы они соответствовали правилам типографики и редполитики журнала. Например, проставляет знак рубля и неразрывные пробелы. Мы воспользовались готовым решением, только переписали пару правил, чтобы результат нам подходил.
Меркурий кэширует большинство данных: контент, главную, статьи и другие редко меняющиеся страницы. Так мы экономим на дорогих расчетах и отрисовке, чтобы держать больше пользователей онлайн одновременно.
В журнале встречаются страницы, которые объединяют другие статьи, например:
Разводящая раздела про путешествия. Сюда автоматически тянутся свежие статьи с этой темой, а блок подборок настраивает редактор.
Витрина подборки. Статьи для нее собрал редактор.
Результаты поиска, которые собираются автоматически. Сам поиск тоже реализован в Меркурии.
В апреле 2020 года мы начали тестировать новую версию нашего движка, который мы назвали Ретроградным Меркурием. Мы полностью перебрали код, разбили его на несколько сервисов и затащили новые фичи: веб-сокеты в админке, улучшенный поиск и другие. Пишем тоже на Python, но уже с FastAPI — как и другие крупные бэкенды журнала.
Монофронт
Когда мы окончательно переехали с Вордпресса на Меркурий, нам захотелось добавить интерактивности на страницы журнала. Возможности джанго-шаблонов тут ограничены, ведь только на них мы не смогли бы менять контент страниц в рантайме.
Чтобы не разрабатывать кучу кастомных страниц, решили вложиться в полноценный фронт — Монофронт.
Моно — потому что в один проект мы собрали:
Как это выглядит в репозитории.
В 2020 году хотим сделать из монофронта несколько независимых приложений, вытащить простые виджеты в npm-пакеты, а сложные — в рантайм и поднять дизайн-систему. Пока сделали и развернули шаблонное фронт-приложение, готовимся переносить туда рендеринг материалов. Пишем на React, Redux и TypeScript.
Соцплатформа
В Т—Ж есть не только авторский, но и пользовательский контент. Пользователи регистрируются, комментируют статьи, подписываются, связываются с редакцией через специальные анкеты. Все это происходит благодаря соцплатформе.
Чтобы зарегистрировать или авторизовать пользователя, соцплатформа взаимодействует с АПИ соцсетей. У себя она сохраняет ценные пользовательские данные, в том числе персональные: имя, фамилию, почту.
Мы разрабатываем интерфейс редактирования данных пользователя в его профиле. Пока он не готов, мы переложили ответственность за модерацию имени и фотографии на соцсети. Отчасти этим же мы решили проблему ботов, потому что соцсети стали просить привязку к номеру телефона. Но остается проблема с тем, что система считает одного человека из разных соцсетей разными пользователями.
У авторов журнала обычно два аккаунта. Один — в Меркурии, он определяет авторство статей. Второй — в соцплатформе, чтобы отвечать на комментарии. Думаю, в будущем перейдем на один общий аккаунт, а пока только немного облегчили жизнь редакторам: когда к аккаунту автора в соцплатформе привязывают аккаунт Меркурия, оттуда автоматически подтягиваются все его статьи.
Сообщество не получается развивать без правил. На каждое правило находятся нарушители. Поэтому соцплатформа предоставляет редакторам и модераторам интерфейс для проверки комментариев и бана нарушителей.
Модератор может удалить комментарий или замаскировать его часть, если она противоречит законам РФ или правилам пользования сайтом.
Соцплатформа хранит все комментарии пользователя и сопутствующую информацию: лайки и дизлайки, был ли это комментарий к статье или ответ другому пользователю в треде. Сами комментарии транслируются в Телеграм через специального бота, чтобы модераторы могли быстро среагировать, а редакторы получали обратную связь.
Часто мы предлагаем читателям поделиться чем-то с редакцией: рассказать о своей профессии, способе вести бюджет или о том, что люто бесит. Тут приходится рулить логикой сохранения ответов на вопросы форм и следить, чтобы они доходили до редакторов. Раньше гуглоформы мы заводили вручную и прикручивали проброс данных в них на фронте, а теперь автоматизировали это в соцплатформе.
Редактор сам может завести новый опрос, редактировать вопросы, из которых он состоит, и собрать опрос из шорткодов.
Урания
В 2019 году мы решили запустить собственную образовательную платформу. Сразу появились новые сущности: студент, курс, урок, экзамен. Чтобы их создавать и редактировать, разработали отдельный бэкэнд и админку — Уранию. Просто захотели продолжить тему античной мифологии. Но вообще чаще мы называем Уранию просто учебником.
Когда студент регистрируется, мы используем в качестве его идентификатора тот же аккаунт, что уже есть в соцплатформе. Сверху дописываем актуальную почту, курс, который студент проходит, и прогресс обучения. Так мы не смешиваем данные, но при этом можем просто синхронизироваться с соцплатформой. В тех же комментариях рядом используются данные из соцплатформы и учебника — например, чтобы нарисовать пользователю медальку курса, который он прошел. Эти данные удобно забирать по одному айди.
Контент самих курсов Урания пока берет из Меркурия. Курс состоит из уроков, а урок на самом деле — хитро стилизованная статья. С главными страницами курсов и со страницей всех курсов, которая скоро появится, Урания работает сама.
Главная страница курса «А как инвестировать».
Фрагмент урока о том, как выбирать брокера.
В конце каждого урока — тесты для закрепления материала. В конце курса — экзамен, тоже в формате теста.
Обычные тесты в журнале работают только на фронте, но в курсах мы проверяем ответы еще и на бэке. Учебник не только хранит вопросы, варианты ответов и правильные ответы, но и взаимодействует с тестами, потому что это отдельные приложения. Расскажу о них немного подробнее.
Фичеры
В Т—Ж выходят калькуляторы, карты, тесты, опросы и другие интерактивные материалы. Это такие отдельные фронтовые приложения. Мы разрабатываем их отдельной командой и не затаскиваем в Монофронт. Фичеры собираются в JavaScript-бандлы, а Меркурий подставляет их на страницы вместе с информацией о конфигах.
ip-calendar.js содержит всю логику интерактива, который помогает ИП вовремя сдавать отчетность. В полном адресе бандла на CDN содержится хэш. Так мы поддерживаем версионирование интерактивов.
Большинство интерактивов используются максимум в двух местах: на отдельной странице и внутри статьи на ту же тематику. Но некоторые из них настолько прижились, что мы используем их десятки раз, например:
Пример опроса в конце статьи.
Мобильные приложения
Пока приложения, которые мы делаем, находятся на стадии разработки или закрытых бета-тестирований. Но кое-что рассказать уже можно.
Во-первых, клиентские части активно используют все бэкэнды, которые уже есть в журнале: забирают контент из Меркурия, пользователей — из соцплатформы, прогресс студентов — из Урании. Во-вторых, у них появляются свои бэкэнды, которые обрабатывают особый контент приложений и разруливают пуш-уведомления.
Сами приложения пишем на React Native и TypeScript. Бэкенды — на Node.js и TypeScript.
Так выглядит урок курса об инвестициях в мобильном приложении. У приложения отдельный бэкэнд. Там мы обрабатываем контент, который есть только в приложении: аудио уроков и статьи для дополнительного чтения после курса. Этот же бэкэнд используем для пуш-уведомлений.
Это первая версия мобильного приложения журнала. Пока главная фича — подписываться на подборки. Бэкэнд этого приложения хранит и обрабатывает пользовательские настройки и тоже отвечает за пуш-уведомления.
Медиасервис
Основные медиафайлы в журнале — изображения. Медиасервис проверяет каждое изображение, перегоняет в webp и png, оптимизирует размер, обрезает под шаблоны из конфига и заливает на CDN. В ответ он получает ссылки на результат обработки — изображения разных форматов и размеров, которые получились из исходного. Остальные медиафайлы сервис просто бережно кладет на CDN.
Медиасервис особенно примечателен тем, что он использует модель serverless. Это не полноценный бэкэнд, развернутый на сервере или в облаке. Он лишь использует облачные функции Гугла и паттерн pub/sub.
Медиасервис использует соцплатформа для пользовательских картинок в комментариях и профиле. Этой функциональности пока нет на продакшене, но мы работаем над этим.
Что дальше
В следующих статьях расскажем подробнее о сервисах, инфраструктуре и командных процессах.