Интервью с владельцем PASS24online Алексеем Хромовым
Сегодня я хочу поделиться с вами историей разработки сервиса PASS24.online, который используется в коттеджных посёлках, жилых комплексах и бизнес-центрах для того, чтобы управлять доступом людей и автомобилей на территорию. Фактически за несколько лет мы довели идею полезного и удобного мобильного приложения до функционального сервиса, который уже ищут заказчики. Мой рассказ может быть интересен тем, кто хочет создать свой программный продукт и размышляет о запуске чего-то реально нового. Под катом — некоторые подробности о создании нашего сервиса, а также примеры и критерии выбора дополнительных фич для разработки.
Запуская стартап, можно пойти двумя путями — создать что-то лучше, чем у других, или сформировать собственную нишу и продвигать свой продукт в ней. Второй вариант звучит интереснее, но на практике он может потребовать даже больше работы и самоотдачи, ведь вы попадаете тем самым в нишу Blue Ocean. “Что? Система управления шлагбаумом? Да она у нас есть. Умная и автоматическая? Нет, спасибо, не нужно…” То есть конкурентов нет. Но и спрос получается нулевой, потому что и про вас не слышали, и про то, что от вашего продукта есть польза, тоже не слышали.
На личном опыте
Без лишней скромности скажу, что идею PASS24.online я придумал сам после очередной перепалки с охранниками на въезде в коттеджный поселок, в котором моя семья завершала ремонт жилья. Если вы проходили через эти адские испытания, то можете себе представить, что в посёлке, где большинство домов строятся, постоянно ввозят какие-то стройматериалы, заходят и выходят рабочие, которые могут меняться, приезжают курьеры и доставки из разных магазинов. Охрана перегружена, не отвечает на телефон, потому что в данный момент разбирается, к кому приехал очередной работник и как именно пишется его имя.
В результате получается сразу пакетпроблем. Получить пропуск на человека или автомобиль — очень затратное по времени и нервам дело. Охранник фактически не охраняет территорию, потому что занят телефоном, бумажками (или в крайнем случае списком на компьютере).
В этот момент у меня возникла мысль: хорошо бы взять и оформить пропуск в приложении, просто оставить там заявку. С этого и началась история PASS24.online.
Как работает сервис
Расскажу о том, как устроен сегодня сервис внутри.
В качестве основы была взята платформа Laravel v6, которая фактически предоставляет веб-сервис для работы системы. Все данные хранятся в Mysql 8, а поиск по пропускам реализован на базе Elasticsearch. Она же выполняет роль центрифуги для веб-сокетов. Как видите, ничего особенного, стандартные компоненты. Далее на основе всего вышеперечисленного мы написали сервис с нуля, используя php 7.2.3 и JavaScript.
Архитектура платформы очень проста. Есть облачный Backend, к которому подключаются клиенты. Они могут быть представлены пользовательскими приложениями, приложениями для управляющих компаний или охранников.
Backend использует API (REST). Общение с клиентами происходит с помощью JSON-схем по защищенному протоколу https. Опять же тут нет ничего особенного. Используются такие действия, как GET, POST, PUT, DELETE и PATCH.
Чтобы обеспечить однозначную авторизацию клиента, мы используем токен. Сперва клиент авторизуется и получает токен. Потом с каждым запросом отправляет его в заголовке.
Все запросы идут через поддомен системы, который выделяется для каждого объекта — коттеджного поселка, жилого комплекса, торгового и делового центра или предприятия. Токен выдается для одной системы, и не может вызывать данные и взаимодействовать с другими системами. Только с данными внутри своей системы (адреса, пользователи, собственники, пропуски и т. д.).
Интеграции работают по такому же принципу. Любые сторонние системы сперва авторизуются и получают токен, а потом общаются с системой через API. Например, получают пропуска, создают, изменяют статусы и др.