- PVSM.RU - https://www.pvsm.ru -

Новости Typegram

Всем привет! Прошло два месяца с момента анонса typegram [1] на Хабре. И у меня для Вас просто жуткое количество новостей и прохладных историй! Всё так бурно развивается что даже страшно. Начну с приветствия:

Привет, меня зовут Вадим, я представляю проект typegram [2]. Typegram — онлайн платформа для публикаций с открытым исходным кодом.

Это то, что меня выдрессировали делать в стартап школе YC. Начинать с представления себя и своего проекта.

Да, мы (точнее я) каким то странным образом попали в это чудесное место где куча таких же шизиков пилят свои проекты и каждую неделю рассказывают о своих достижениях и неудачах. Ещё там куча полезных видео, от успешных менторов с экстраординарным подходом. Рассказывают интересно и нетипично. О своих первых впечатлениях и как всё происходит я уже писал [3], не буду повторяться. Там есть ссылки на видео прошлых лет. Как окончу школу (через три недели) обязательно напишу подробнее. Перейдем к интересным штукам (все о чем я буду рассказывать — лежит в открытом доступе на гитхаб [4]).

Начнем, пожалуй с монстров:

image

У каждого пользователя теперь есть личный маскот, монстрик или аватарка попросту говоря. Каждая аватарка уникальна и генерируется для username. Вот, например автарка дизайнера, который рисовал монстров:

image

Как это работает? При первом запросе по адресу ru.tgr.am/a/username.png [5] — сервер проверяет есть ли картинка с таким именем. Если есть — рендерит. Если нет — собирает картинки из частей, в папке github.com/recoilme/tgram/tree/master/data/monster [6] — лежат картинки частей тела, и они просто собираются в одно изображение. Получилось очень удобно. Во первых все происходит на сервере и один раз (нет тормозов яваскрипт). Во вторых — дизайнер [7] просто накидал картинок в папки и вуаля (на самом деле он неделю вычерчивал по сетке в фотошопе, чтобы рот на нос не наезжал и получалось клёво) Поиграться можно скачав typegram и подсовывая другие картинки в папки, всё работает на автомате. Если, вдруг хотите дополнить медиатеку монстров своими работами — велком [8]. Вот тут еще отчужденный от bindata код [9], который лег в основу. Если хотите из командной строки попробовать генератор, например.

44 Эссе.

Неожиданный поворот, но очень важный. Неожиданный, потому что не про dev, а важный потому что человек существо игровое и творческое. Не помню кто сказал, но не суть. Мы запустили конкурс для начинающих авторов — 44 эссе. Ну как запустили, запустил то его телеграм канал «Хемингуэй позвонит», но сами работы размещаются на typegram по тегу 44esse [10]

Принять в нём участие может любой желающий. Будут оффлайн арт вечеринки с чтением лучших рассказов, правда без айфонов в конце мероприятия. Я думаю это важно, потому что после анонса на хабре, многие начали публиковать на тайпграм рассказы. И это здорово и интересно. Попробуйте [11], это бесплатно.

Интеграция с Email

Старый добрый email отлично подходит для рассылки уведомлений. Например, когда пользователя упоминают в комментарии. Тут моего запала на написание полноценного конкурента gmail не хватило, простите, и прикручена была банальная интеграция по smtp. Технически — письмо отправляет Яндекс. Нужно только пнуть его. В гоу это просто. Попробуйте, посмотрите код [12], если тоже хотите просто слать пуши.

Автопубликация в телеграм

Появился скрипт [13], который отправляет статью в телеграм. Это очень противоречивая штука. В телеграм совсем все плохо с форматированием материалов, с одной стороны. Писать длиннопосты в нем крайне неудобно. Теперь пост можно написать в тайпграм, и если он привязан к каналу — всё произойдет автоматически. Выглядит как магия. Но практической пользы немного. Потому что, как правило — интересней написать банальную подводку с ссылкой на статью в конце, чем пропускать через вот этот вот адский конвертер. Вобщем такая фича, технически интересная, практически — малоценная. Реализация на github [14]

Сервер статистики

image

Меня конкретно бомбит от того насколько плохо реализованы счетчики аналитики. И еще больше бомбит от того, что все они следят за пользователями, чтобы показать затем унитаз, в самый неподходящий момент. К счастью — есть бесплатные альтернативы. Я выбрал проект Fathom [15] Теперь статистику можно смотреть прям в рилл тайм: stat.tgr.am [16] и никаких унитазов. Есть и своя, примитивная статистика — прямо в коде проекта. У каждой статьи есть каунтер просмотров. Для каждого субдомена меряется DAU и WAU, и все это реализовано без сбора персональных данных на сервере.

Планируемые в ближайшее время фичи:

Server less андроид приложение

image

Мы придумали очень интересную концепцию. На мобильных платформах — тайпграм будет работать как мессенджер. Уведомляя о изменениях состояния — мгновенно. Как это работает.

У гугл есть такая штука как уведомления. Забавно, что помимо обычных нотификейшен — есть скрытые «посылки». Можно послать произвольный json приложению, и он будет обработан как пуш, но без тревожного сообщения вверху экрана. Ну или с искусственно созданным уведомлением, тут уж на свой вкус. Еще есть такая вещь как каналы. Итак, соберем все воедино. Приложение подписывается на канал typegram/all Например. И на личный канал пользователя typegram/recoilme — для персональных уведомлений. При публикации новой статьи — сервер шлет в FCM — уведомление — вышла новая статья. Приложение его обрабатывает и рендерит. Удобно. Риал тайм. И никаких запросов от приложения к серверу. Пока мы собрали только рабочий прототип. Описание идеи тут: github.com/recoilme/tgram/issues/107 [17]

А посмотреть как это реализовано на сервер сайд можно тут [18]. Приложение пилит habr.com/users/chukachichi [19] — как только станет не стыдно — обещал выложить на гитхаб)

Dogecoin

image

Мы будем встраивать эту самую милую на свете криптовалюту прям в движок [20]. У каждого пользователя будет кошелёк и возможность донатить в один клик. И да, если Вам интересна эта тема — ишью пока свободно! Хотите попробовать? Велком.

В конце хочется ещё раз поблагодарить всех видимых [8] и невидимых контрибьютеров. Без вас тайпграм не развивался бы так стремительно. И многие из них пришли с хабра. Приходите и вы. Opensource — это прежде всего весело и дает возможность реализовать самые смелые вещи. Никто не даст вам на работе внедрить Dogecoin на сайт в качестве оплаты. А на typegram — вас встретят с распростертыми объятиями!

Автор: recompileme

Источник [21]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/open-source/295432

Ссылки в тексте:

[1] анонса typegram: https://habr.com/post/420107/

[2] typegram: https://ru.tgr.am/

[3] писал: https://ru.tgr.am/@recoilme/89

[4] гитхаб: https://github.com/recoilme/tgram

[5] ru.tgr.am/a/username.png: https://ru.tgr.am/a/username.png

[6] github.com/recoilme/tgram/tree/master/data/monster: https://github.com/recoilme/tgram/tree/master/data/monster

[7] дизайнер: http://be.net/razuvaev

[8] велком: https://github.com/recoilme/tgram/graphs/contributors

[9] код: https://github.com/recoilme/govatar

[10] 44esse: https://ru.tgr.am/mid/?tag=44esse

[11] Попробуйте: https://ru.tgr.am/@recoilme/143

[12] код: https://github.com/recoilme/tgram/blob/master/models/mail.go

[13] скрипт: https://ru.tgr.am/@recoilme/85

[14] github: https://github.com/recoilme/tgram/blob/master/models/telegram.go

[15] Fathom: https://ru.tgr.am/@recoilme/146

[16] stat.tgr.am: https://stat.tgr.am/

[17] github.com/recoilme/tgram/issues/107: https://github.com/recoilme/tgram/issues/107

[18] тут: https://github.com/recoilme/tgram/blob/master/routers/routers.go#L676%22

[19] habr.com/users/chukachichi: https://habr.com/users/chukachichi/

[20] движок: https://ru.tgr.am/@recoilme/162

[21] Источник: https://habr.com/post/426099/?utm_campaign=426099