#02 : Обзор
Рубрика: Твой первый биллинг
14 Янв. 2010С момента публикации моей прошлой статьи прошел практически месяц. Я очень рад что многие из моих читателей подключились в процесс создания, и постоянно подкидывают мне интересные идеи...
---Вступление
Все мы понимаем что успех компании тесно зависит от инструмента взаимодействия с пользователями. Допустив ошибки в подборе инструментов для управления клиентами - вы можете легко понести крупные убытки.
Ключевые моменты нашей панели:
- Легкость интерфейса
Конечно интерфейс нашей панели не должен быть перегруженным. Не все пользователи хостинга - это программисты. Поэтому всё должно быть интуитивно понятным и удобным. Кстати, сюда мы еще включаем удобный интерфейс для администраторов и менеджеров. - Поддержка пользователей
Панель должна включать в себя удобный интерфейс взаимодействия с пользователями. Скорее всего это будет некая тикетная система с уведомлениями на почту и тп. Про состояние тикета должны высылаться уведомления на email (icq/sms?) - Интеграция с платежными системами
Принимать платежы в ручном режиме - очень раздражает клиентов. Они хотят что б все было быстро и в автоматическом режиме. Поэтому будем идти путём интеграции с популярными платежными системами как вебмани, я.деньги и смс-биллингами. - Интеграция с популярными регистраторами доменов
Возможность регистрации доменов - это как гарнир при заказе хостинга. Поэтому наша панель должна в случае необходимости автоматически регистрировать для клиента домен, как только перевод денег будет подтвержден. - Система автоматических уведомлений
Сообщения о том что на счету мало денег или требуется продлить домен - клиенты должны получать автоматически (на email, sms или icq). - Удобное онлайн обновление
Будет намного удобнее что б для обновления панели не требовалось заходить на сайт и качать новые файлы. Пускай для обновления будет написан собственный скрипт который будет аккуратно проводить добавление нужных строк в файлы и создавать таблицы в базе. - Интеграция с панелями: cPanel, Plesk, ISP и др.
После регистрации пользователя через биллинг и оплате счета - требуется автоматически создать аккаунт на рабочем сервере. Для этого будем использовать популярные скрипты для интеграции с популярными панелями.
Я провел небольшую аналитическую работу и попробовал работу конкурентных панелей в действии. Мной были попробованы: plesk, joonte, bpanel, acp ideco, ava-panel, root-panel, DAdmin и др.
Многие из них предоставляют demo доступ, поэтому получилось посмотреть как там что устроено. Сразу скажу что чего то действительно красивого и идеального - я не увидел. Везде одинаковый функционал и ничего нового от создателей.
Этап 1 : Схема действий
Первым делом когда я разрабатываю крупные проекты - я составляю с клиентами схему работы приложения. Делать это можно в любой программе для создания схем, в данном случае я использую XMind (доступную на всех ОС).
Сама схема представляет из себя набросок того как будет функционировать проект. Обычно в моих проектах схемы получаются более крупными, но мы ж с вами и так представляем что собираемся делать. Именно поэтому я накидываю общую структуру того как будет выглядеть, а более подробно - будем смотреть когда руки начнут разработку.
[схема 1 : клиентская часть]
Клиентская часть у нас разбита на два главных блока - пользовательская панель и страница быстрого заказа услуг.
[схема 2 : админка]
Админка у меня получилась немного крупнее. Это еще с учетом того что описать всё у меня не хватило сил :) Когда ближе перейдем к процессу создания админке - все еще раз от корректируем и возможно добавить еще много чего.
Этап 2 : Инструменты
Вот так с ходу трудно сказать какие расширения и компоненты мы будем использовать с вами. Точно могу сказать что писать будем на yii framework 1.1.x (AR в связке mySQL). Поднимать панель буду на VPS следующей конфигурации:
apache2, php5 (fastcgi), centos5, 1024mem, 512cpu
Постараюсь в процессе создания по минимуму писать свои "велосипеды", а использовать уже готовые расширения. Также не будем забывать про фишки которые появились в yii 1.1
Этап 3 : База данных
В своей практике я всегда проектирую структуру базы данных до того как начну писать код. В нашем случае думаю не получится все сразу спроектировать т.к. идей очень много и уверен по мере разработки их будет еще больше. Поэтому в следующей статье мы разберем и создадим структуру самых главных таблиц и уже начнем писать простой функционал.
Вывод
Мне кажется читать много маленьких статей удобнее чем одну, но километрового размера. Поэтому постараюсь не сильно раздувать статью мыслями, но чаще публиковать что то новое :)
Как я уже написал выше - следующая статья будет посвящена созданию структуры базы данных
Я очень надеюсь на силу коллективного разума, поэтому прошу всех своих читателей подключится к делу. Я буду рад услышать ваши идеи и предложения по поводу панели в комментария или на почту zolter.od@gmail.com
Если хотите опубликовать этот материал у себя - пожалуйста, разместите ссылку на страницу откуда вы его взяли.
- Данная статья является переводом крохотной заметки в Cookbook-е которая появилась совсем недавно. Разработчики Yii порадовали нас отличной "фичей" которая ... "Добавление контекстной информации (session, user...) в журнал"
- Столкнулся я с вопросом как без создания формы через CFormModel — поюзать встроенный валидатор для проверки капчи. Вот чего то ... "Валидация капчи в Controller-е"
- Серия рецентов "By Example" пытается предоставить для разработчиков примеры использования самых распостраненных действий в Yii. Учимся использовать CHtml::listData() на ... ""By Example" : CHtml - listData()"

[adm] zolter
Было сказано: Четверг, 14 Январь 2010
Изначально статью хотел писать совсем в другом виде на что ушло много времени. Потом решил не затягивать и вся таки написать как обычный блог пост. В будущем постараюсь все таки осуществить то что надумал для этой серии статей.
По поводу таких больших задержек, сори. Новый год, очень много работы свалилось именно на праздники. Плюс еще приболел я. В общем не судите строго, в будущем постараюсь по-оперативней :)

[guest] RSol
Было сказано: Четверг, 14 Январь 2010
Удобно для того, чтобы не отвечать на одни и те-же вопросы сделать форум.
SMS оплата конечно интересна, но для этого проекта (мне кажется) не очень подходит. По ней у меня есть наработки, могу поделиться.
Есть наработки для Робокассы, тоже могу поделиться.
В структуре необходимо упомянуть мосты для "Интеграции с панелями: cPanel, Plesk, ISP и др.", но это на будущее.

[guest] Гость
Было сказано: Четверг, 14 Январь 2010
>512cpu
Имеется ввиду 512mhz? Что-то слабый проц. :-/

[adm] zolter
Было сказано: Четверг, 14 Январь 2010
to Гость
ага, 512мгц. Ну для vps это вполне нормально, да и для тестирования панели на 5-10 клиентах тоже хватит :)
to RSol
не-не. я имел ввиду не пополнение счета по смс, а отправку уведомлений на телефон. к примеру ответили вам на тикет - улетело сообщение на тел. это можно было бы использовать как платную ежемесячную функцию и хостер с этого имел бы еще копеечку :)

hyzhak
Было сказано: Четверг, 14 Январь 2010
to RSol:
насколько я понял речь идет не об оплате по SMS, а об информировании.
to All:
сам недавно занимался проблемой отправки SMS с веба. таки єто проблема :-(
1. раньше операторы моб.связи позволяли через e-mail отправлять сообщения на SMS, сейчас многие от єтого отказались (например в Украине только оператор KyivStar предоставляет єту услугу, но ее еще нужно, хоть и бесплатно, но активировать).
2. подключиться к каком-либо контент-провайдеру, у которого есть услуга "GSM-шлюз" и через инет отправлять sms-сообщения. Хоть услуга и платная, но зато гарантированная доставка с уведомлением о получении SMS, а финансовые затраты можно переложить на пользователя, если он активирует єту услугу. Но и тут есть проблема - контент-провайдеры хотят сотрудничать с сайтами у которых будет по несколько тысяч SMS в месяц.
3. Есть контент-провайдеры третьей руки (типа litesms.net - не реклама :-) к которым можно подключиться так же как и в варианте 2. Но дело немного рисковое - нужно пробовать и знать опыт тех кто уже с нми работал.
4. Воспользоваться API каких-то стороних программ, которые умеют посылать SMS-сообщения. Например Skype... Однако получается дороговато - 0.06 евро за сообщение...
5. Постороить GSM-шлюз самостоятельно. Подключить какой-то старенький телефон к компьютеру и написать скриптик, который будет заниматься рассылкой SMS.
Итого:
вараинт 1 - не подходит (нет охвата всех пользователей)
вариант 2 - не подходит (во всяком случае на єтапе старта проекта - нет нужного кол-ва сообщений)
вариант 3 - непонятно (нужно пробовать работать, проверять надежность)
вариант 4 - подходит (но высокая стоимость SMS и непонятно как себя будет вести тот же Skype API - поскольку чистого API под PHP на юнихоподобных системах нет)
вариант 5 - подходит (самая минимальная стоимость сообщения, но слышал, что подобные "железячные связки" ведут себя не стабильно и требуют постоянного внимания к ним)
P.S. если упустил еще какой-то варинт - пишите обсудим. вариант типа купить железяку за 700$ и поставить пускай шлет SMS - понятно не подходит под данный проект

[adm] zolter
Было сказано: Четверг, 14 Январь 2010
4-5й вариант интересны, надо будет поковырять получше :)
В любом случае получать смс намного удобнее чем читать почту, но из-за того что операторы боятся спама - приходится делать свой велосипед.

hyzhak
Было сказано: Четверг, 14 Январь 2010
на самом деле мне самым интересным кажется вариант 3.
там наименьшее кол-во трудозатрат на реализацию сервиса (точно такое же как и в варианте 2) и по идее очень высокое качество.
но подобные сервисы нуждаются в проверке их надежности...

[adm] zolter
Было сказано: Четверг, 14 Январь 2010
Да надо будет посмотреть кто предоставляет такие услуги. Что б хотя бы большая часть операторов Украины и России поддерживало.

[adm] zolter
Было сказано: Четверг, 14 Январь 2010
Пятый вариант интересен что не надо не от кого зависеть. Но думаю там много гемора с настройкой софта и тп. Плюс этот вариант подойдет для единиц, а надо который бы подошел большинству. (

hyzhak
Было сказано: Четверг, 14 Январь 2010
2 и 3 вариант покрывают всех операторов Украины, России и еще целой кучи операторов по всему миру

[guest] RSol
Было сказано: Четверг, 14 Январь 2010
Не знаю к какому варианту (2 или 3) относится turbosms.com.ua (не реклама), но мне нравится - дешево, работа через БД, компания проверенная, супорт реагирует моментально, отправка по СНГ.

[guest] redhotberry
Было сказано: Вторник, 23 Февраль 2010
Спасибо. Буду следить. Кстати, красиво ты свой блог доделал :) Я за ним слежу почти с самого начала.
И еще - почему бы тебе не сделать его код Open Source? :)

[guest] Гость
Было сказано: Вторник, 23 Февраль 2010
Спасибо,
по поводу опенсоурса, Там такой страшный код что мне будет стыдно :D

[guest] Гость
Было сказано: Среда, 03 Март 2010
Постараюсь до конца неделе или в начале следующей.
Сейчас магазом фултайм занят

yuri25
Было сказано: Суббота, 11 Декабрь 2010
Я так думаю такую разработку, если автор ее довел до практического использования, вряд ли он ее выложит в виде урока в паблик, задачка то не такая уж простая... Хотя пес его знает, может просто времени нету... Автор, напиши плиз что тут и как. А за сайт спасибо огромное:)

[guest] Гость
Было сказано: Воскресенье, 09 Январь 2011
Блин, что за стремление изобрести новое колесо :)
Время показывает, что автор замахнулся, а потом сдулся, поняв что смысла нет + все это займет оч много времени...

[guest] zolter
Было сказано: Воскресенье, 09 Январь 2011
Я не пишу на заказ или за деньги. Статьи выходят по возможности и свободному времени :) Тема в свое время была мне интересна, но проект завис по причине нехватки времени на него.

[guest] alex3d
Было сказано: Воскресенье, 20 Февраль 2011
Я считаю что автору надо хотя бы переделать старый проект БЛОГ на новый yii 1.1.6 - (с GII и т.д.) - вот это было бы очень кстати - и времени потратить придется гораздо меньше. Просим! :)

[guest] zolter
Было сказано: Вторник, 10 Январь 2012
Вряд ли будет, тема к сожалению, перестала быть актуальной для меня


