Post Hawk. Перезагрузка

в 12:13, , рубрики: erlang, Erlang/OTP, javascript, php, post-hawk, Блог компании Post Hawk, Веб-разработка, вэб-разработка, метки: ,

Post Hawk. Перезагрузка - 1

Здравствуй, читатель!

С момента первой публикации прошло уже полгода. За это время в сервисе произошло много изменений. Новый сайт. Доработанная документация. Улучшенное апи.

Немного лирики

В момент запуска стартапа, каждый надеется на то, что его идея уникальна и неповторима, ну и всё в таком духе… Существует множество статей об этом, а статистика сурова, лишь 10% всех запусков оказываются успешными. К сожалению, в моём случае удача повернулась не тем местом… За прошедшее время лишь 10 зарегистрированных пользователей…

Винить тут некого, лишь самого себя. При запуске я руководствовался принципом, минимального работающего функционала, но, наверное, его было не достаточно. Да и сайт получился страшненький… В итоге конверсия равна нулю. Какое-то время я размышлял и анализировал ошибки. Как известно: «Решительный шаг вперёд, результат хорошего пинка сзади» ©. Поэтому я собрался с силами и принялся за новую версию всего.

Для начала заказал новый дизайн. Результат сегодня смотрит на вас из браузера и доставляет гораздо больше, чем предыдущая унылая версия (мобильная версия пока готова не до конца и местами подглючивает, но работы ведутся). Пока дизайнер рисовал я занялся внутренними механизмами сервера. Множество самописных велосипедов заменили готовые библиотеки, например, менеджером процессов стал gproc, менеджером подключений ranch, ну и т.д. Была закрыта дырка в безопасности при отправке сообщений, значительно расширился апи и еще много других изменений было сделано. На апи остановлюсь подробнее.

Группы

Одна из главных доработок это возможность создания/удаления групп и разделение их на открытые и закрытые.
Открытая группа — это группа, с которой можно работать напрямую из js-апи. Можно добавить/удалить пользователя, отправить сообщения группе без необходимости использовать ваш сервер.
Закрытая группа — это группа к которой можно добавлять пользователей только с помощью серверного апи, а отправлять сообщения может только пользователь, находящийся в ней.

Сообщения

Не осталась без изменений и процедура отправки сообщений. Теперь все сообщения по-умолчанию зашифрованы по алгоритму AES256, для его функционирования на сервере необходимо наличие библиотеки openssl и активированный модуль для php. Также добавилась функция серверного апи для отправки произвольных данных любому пользователю (раньше можно было отправлять только группе). Сама библиотека претерпела ряд изменений и стала реализовывать патерн FluentInterface.

Впереди еще много работы над сервисом, в голове множество нереализованных идей, много чего еще можно доработать, например очередь сообщений для offline-пользователя. Мобильная и английская версия на подходе.

В библиотеке был наведён порядок, живой пример вы можете попробовать на сайте.

Благодарю за внимание!
Пожалуйста, оставляйте ваши отзывы и пожелания в комментариях.

PS: хочу напомнить, в отличии от конкурентов сервис бесплатен (всё, что удастся собрать путём пожертвований будет направлено в русфонд) и не имеет ограничений на размер сообщений.

PPS: об ошибках и предложениях вы можете писать через форму обратной связи на сайте или непосредственно в репозитории

Автор: Slavenin999

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js