вівторок, 1 липня 2014 р.

Итоги моего года Змеи

Я только что закончил писать первую версию моей новой SMS-платформы. Пока у нее одна задача - рассылка SMS как на корпоративном, так и на операторском уровнях. Теперь ее надо тщательно протестировать на реальных СМС-ках, на реальных событиях и реальных людях.  Желающие приглашаются. 

Это был мой очередной год разработки. Я устал, если честно. Если в 2012-2013 годах я писал PearlPBX, которая сейчас успешно продается, то в прошедшем 2013-2014 году я писал Pearl SMS Stream. Perl + Erlang. Причем erlang-a значительно больше. Жуткое сочетание :) Теперь я займусь развитием, продажами, поддержой и вообще всякой нудятиной, которая меньше загружает мозГ, чем чистая разработка. 

Год назад, когда мне исполнилось 36, я обещал себе : "Это мой год, ох я наворочу!". Оглядываясь назад могу сказать: "Да, наворотил! Не так много как хотелось бы, потому что лентяй, но наворотил". 

Год назад я начал изучать Erlang, сломал себе полголовы. Все это время я пытался совместить стройку, разработку, семью. Получалось плохо. C весны получается лучше. Я нанял на работу смышленого junior-а, который уже превратился в middl-а. И помогает строить мне дом. А я в это время "всё кодю и кодю".  :-) 

Следующий год - год музыки. У меня есть несколько проектов, которые я хочу дописать, аранжировать и выпустить в iTunes/YouTube. 

А пока реклама того, что я писал последние 11 месяцев ( говорю же, лентяй :).

Пользователь Web: 
- отправка одиночного СМС 
- подготовка, верификация, отправка, постановка в паузу, отмена рассылок, просмотр СМС в рассылках
- использование шаблонов в рассылках 
- статистика по рассылкам или за период с просмотром деталей и текста SMS/DLR
- работа с контактами. Импорт списков и просмотр, поиск контакта. 
- наблюдение за процессом рассылки в режиме реального времени.

Пользователь SMPP: 
- Все тоже самое, кроме работы с рассылками.  Если он SMPP-пользователь, то у него могут быть другие цены (в России, как правило, ниже, чем у GUI-пользователей)

Администратор:  
- Просмотр текущего статуса системы 
- Послать одиночное сообщение 
- Работа с пользователями: добавление, изменение, пополнение счета, просмотр истории пополнений.
- Настройки маршрутизации и SMPP-подключений к операторам 
- Справочник операторов/префиксов
- Статистика по всей системе в разрезе рассылок, с разбивкой по пользователям, по операторам с экспортом в Excel/Calc. 

Биллинг: на текущий момент Prepaid-only, считает SMS-ки, но добавить любой другой тип не проблема.  В планах добавить Post-Paid. А когда-нибудь можно и деньги вводить. В разных странах разные условия.  

Методы отправки SMS: 
- Web-интерфейс 
- SMPP-подключение (да-да, я опять написать SMPP-сервер. На этот раз, на Erlang!) 
- HTTP API 

Планируется: 
- RESTful API
- XML (для совместимости с предыдущей версией имени NetStyle и Миши Бочкарёва) 
- Отправка DLR через HTTP. 

Производительность :1000 SMS/сек на минимальном VPS в Digital Ocean. Больше не пробовал, буду пробовать позже. Все равно никто таких каналов в Украине не предоставляет. 

На чём это всё ? Erlang, OTP (без него уже никуда!), PostgreSQL, RabbitMQ. 
Используемые библиотеки и фреймворки: n2o - web, oserl - smpp, cowboy - веб-сервер, epgsq && epgsql_pool для работы с PostgreSQL, erlydtl - шаблонизатор, iconv, jiffy.  

Для кого это все ? 
Во-первых: для моего постоянного клиента ТОВ "Фарос Мобайл", который частично оплатил эту разработку. 
Во-вторых: для крупных корпораций, которые не желают отдавать свои базы контактов в целом виде на сторону, при этом желая получить полный контроль над отправкой сообщений и экономию средств (SMPP-онли зачастую дешевле, чем веб-интерфейс). 
В-третьих: для агрегаторов SMS-рассылок. Архитектура настолько гибкая, что можно построить любой учет денег, сообщений и прочее и прочее. 

В ближайшее время я разверну демонстрационную платформу и все желающие помочь мне ее оттестировать получат логины администраторского уровня доступа. 

PS. Поехал я за новым чехлом для моего MacBook-a. Посылка днем пришла. 

PPS. И да,  я тут придумал новую штуку, которая соседствует с SMS-платформой. Мне на part-time нужны два разработчика - iOS и Android для разработки прототипа приложения. Рекомендации принимаются.  

Немає коментарів:

Дописати коментар