Сбор средств на node-booking
30 000
Всем привет!
Недавно я писал про то, что у нас есть наработки по модулю с календарем, и что в принципе можно было бы написать компонент на замену oneBooking (дабы обеспечить возможность бронирования с почасовой разбивкой и т.п.). Кто-то даже готов был дать частичный финансовый толчок этому делу. И хотя я отказался, в личку приходят запросы и от других людей на этот счет (к примеру, с этой темы).
В общем, я думаю, пойти этому на встречу и запустить небольшой эксперимент. Дело в том, что в последнее время я плотно занялся node.js (он меня прям с головой поглотил), и теперь планируя тот или иной компонент, я думаю о том, что общую логику нужно выносить в отдельный node-компонент, а для поддержки функционала на стороне MODX-а реализовывать только специальный клиент под него. Ведь что у нас сейчас получается? Создали какой-то интересный (или не интересный) компонент, и работать он будет только внутри MODX-а. Больше его никуда не воткнуть. Но это же не правильно. Есть определенный функционал (та же система бронирования). Она работает сама по себе. И не важно с помощью чего с ней взаимодействуют (с помощью MODX-а, битрикса, браузера и т.п.). Вот такую систему я могу взяться написать.
Чтобы было понятней о чем я вообще говорю, можно зайти на главную страницу modxclub.ru/. На самом деле это автономный node.js-чат, никак не требующий для своей работы MODX. Сохранение сообщений на modxclub.ru реализовано уже на стороне самого MODX-сайта. Когда нода получает сообщение, она отправляет запрос на сайт, где и выполняется дополнительная логика. (Если кому нужен такой для себя, пишите в личку, могу поднять для индивидуального пользования, будет ваш собственный чат, только сейчас он не сохраняет в себе никакие сообщения, типа полностью анонимный. ). Вот так же и здесь планируется: сама базовая логика системы бронирования будет реализована на уровне автономного node.js-приложения, но его можно будет интегрировать с сайтом, чтобы добавить индивидуальной логики.
Цена вопроса на все — 30 000. Взнос можно сделать любой (хоть 3 рубля). Для донаторов от 1000 рублей после выпуска компонента каждому будет приобретен компонент в модсторе. От 10 000 рублей — объемная помощь в интеграции на вашем сайте.
UPD: Судя по всему финансировать никто не хочет. ОК, займусь другими задачами. Сбор средств отменил.
Недавно я писал про то, что у нас есть наработки по модулю с календарем, и что в принципе можно было бы написать компонент на замену oneBooking (дабы обеспечить возможность бронирования с почасовой разбивкой и т.п.). Кто-то даже готов был дать частичный финансовый толчок этому делу. И хотя я отказался, в личку приходят запросы и от других людей на этот счет (к примеру, с этой темы).
В общем, я думаю, пойти этому на встречу и запустить небольшой эксперимент. Дело в том, что в последнее время я плотно занялся node.js (он меня прям с головой поглотил), и теперь планируя тот или иной компонент, я думаю о том, что общую логику нужно выносить в отдельный node-компонент, а для поддержки функционала на стороне MODX-а реализовывать только специальный клиент под него. Ведь что у нас сейчас получается? Создали какой-то интересный (или не интересный) компонент, и работать он будет только внутри MODX-а. Больше его никуда не воткнуть. Но это же не правильно. Есть определенный функционал (та же система бронирования). Она работает сама по себе. И не важно с помощью чего с ней взаимодействуют (с помощью MODX-а, битрикса, браузера и т.п.). Вот такую систему я могу взяться написать.
Чтобы было понятней о чем я вообще говорю, можно зайти на главную страницу modxclub.ru/. На самом деле это автономный node.js-чат, никак не требующий для своей работы MODX. Сохранение сообщений на modxclub.ru реализовано уже на стороне самого MODX-сайта. Когда нода получает сообщение, она отправляет запрос на сайт, где и выполняется дополнительная логика. (Если кому нужен такой для себя, пишите в личку, могу поднять для индивидуального пользования, будет ваш собственный чат, только сейчас он не сохраняет в себе никакие сообщения, типа полностью анонимный. ). Вот так же и здесь планируется: сама базовая логика системы бронирования будет реализована на уровне автономного node.js-приложения, но его можно будет интегрировать с сайтом, чтобы добавить индивидуальной логики.
Цена вопроса на все — 30 000. Взнос можно сделать любой (хоть 3 рубля). Для донаторов от 1000 рублей после выпуска компонента каждому будет приобретен компонент в модсторе. От 10 000 рублей — объемная помощь в интеграции на вашем сайте.
UPD: Судя по всему финансировать никто не хочет. ОК, займусь другими задачами. Сбор средств отменил.
Комментарии: 26
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Fi1osofВсегда представлял себе бронирование точно как и продажу товара.
PS от себя дополню вопрос
1. Для бронирования будут доступны именно ресурсы (не важно что там представлено, событие или что то иное)?
2. Бронирование будет учитываться в виде отчетов (админка), тогда-то то-то было забронировано и т.п.? т.е. еще раз параллель с магазином
3. Оплата бронирования онлайн? если да, то подробнее
4. Уведомления для пользователей и менеджеров ..?
Fi1osofБолее подробно желаемый функционал будет изучаться в случае успешного сбора средств и запуска проекта в работу. Все знают, мы MODX знаем достаточно хорошо, чтобы сделать все в лучшем виде. С недавних пор мы ведь даже юзер-интерфейсы делаем, чтобы удобней было пользоваться нашими компонентами.
Fi1osofВот скрин для примера:
UPD: этот скрин с zone.ee/
Насколько создаваемый компонент близок (из коробки, без доп вложений) к функционалу который лично я вижу как:
Ресурсы MODX (или тикетсы, неважно), т.е. документы которые можно выбрать по, например, назначенному шаблону (шаблонам), участвуют в бронировании. Для админа это должно быть так же как с товаром в Минишопе (для примера).
UPD ответ я вижу уже вы написали выше. Как то одновременно получилось.
Fi1osofЕсть объекты для бронирования: ресурсы, тикеты, кастомная таблица и тд
node.js отдельно и работает со своей бд, где только строки бронировки (проверка на дату, пользователя и тд), либо с кастомной таблицей в modx самих бронировок
Если брать miniShop2:
Пользователь выбирает объект для бронирования, node проверяет доступность, если все хорошо, то дается возможность оплатить. На события msOnCreateOrder и msOnChangeOrderStatus для статуса «оплачено» node сохраняет бронировку у себя
UPD. желательно, чтобы функции проверки для отправки в node можно было задать на странице в менеджере
Т.е. по типу field -> value -> comparison
И в самом node.js установить уже методы сравнения
UPD2. но это уже получается не просто букинг компонент, а универсальный modx-node.js коннектор)
Fi1osof1. В node.js используется крутой механизм подгрузки и переопределения компонентов, например var booking = require($path_to_module);
По умолчанию будет использоваться автономный модуль работы без каких-то внешних систем. Но его можно будет легко переопределить другим модулем типа var booking = require($path_to_extra_module); в котором прописано var extra_booking = require($path_to_module); export extra_booking; (Это в общих чертах). И в этом переопределяющем компоненте будет перехват штатных событий и взаимодействие с MODX-сайтом (типа запросить имеющийся объект, отправить уведомление и т.п.).
2. Мы умеем читать конфиги MODX-а и работать с базой сайта, включая префиксы таблиц. В MODX-модель компонента мы добавим нужные классы и мап-файлы, чтобы легко можно было средствами xPDO работать с таблицами компонента напрямую, при желании.
3. Даже при работе с сайта напрямую в ноду, не придется выполнять никаких лишних проверок доступа пользователя (авторизован или нет) и т.п. Мы пересылаем запрос на сам сайт с передачей кукисов, так что даже получая запрос из браузера не напрямую, а через ноду, MODX будем воспринимать это как прямой запрос себе из браузера, так что все авторизации и сессии пользователей будут учитываться как есть.
Fi1osofFi1osofЧем будет отличаться этот модуль от обычных?
Fi1osofЯ понимаю, когда изучаешь новое, появляется желание творить, но раз уж делаем для modx, лучше делать без обузы и лишних телодвижений.
Fi1osofОпережая чей-то возможный вопрос «А почему такой универсальный компонент не писать на базе самого MODX-а?», я отвечу:
1. MODX сложнее в переносе. Если вы его из одной папки в другую перенесете, он у вас уже работать перестанет, надо конфиги править. node.js-проект этим не страдает, его просто перекидываешь в любую папку (или на любой другой комп, где стоит подходящая версия node.js) и все, запускаешь.
2. node.js один компонент можно запустить сразу кучу инстансов, просто указав разные порты. Это круто. Имея тот же модуль чата, можно из одной папки запустить несколько сотен отдельных комнат.
3. Установка компонентов там и там — просто небо и земля. В ноде прописал нужный компонент в package.json, выполнил npm install и все (или вообще просто npm install package). После этого в любом месте кода пишешь var module = require(module); и полетело.
В общем, я несколько лет пишу компоненты под MODX, делал не мало интеграций с различными сторонними системами, и знаю что делаю.
Fi1osofПолтора года уже как на modhost.pro это всё по умолчанию включено.
Fi1osofКрайне заинтересован в разработке данного модуля, поскольку активно использовал Onebooking, однако, хотелось бы более активного его развития, поэтому делаю ставку на данный модуль. Не могли бы Вы только уточнить: node-booking будет заточен только под часовое бронирование или также будет существовать возможность посуточного бронирования? Поскольку Onebooking использовался для небольшой гостиницы, то надеюсь посуточный вариант также будет присутствовать. И небольшие пожелания/предложения:
1) Возможность оплаты онлайн (с возможностью автоматического аннулирования бронирования в течение некоторого времени, в которое не осуществлена оплата)
2) Отправка посетителю инвойса (pdf) на электронный ящик с данными о бронировании
3) Наличия скидок на определенные дни недели
4) Возможность экспорта бронирований в Excel
Благодарю за внимание!
Fi1osofИ посуточно можно, и по часам, и даже по минутам можно.
Да.
Это скорее на плечах движка магазина, того же minishop или shopmodx.
Fi1osofУ топика статус стоит «Отмененный». Никто деньгами не вкинулся, а задач других хватает с головой. Но совсем не исключено, что когда-нибудь появится.