Вводная часть

Я до мозга костей бизнес-системный аналитик. Люблю свою работу и получаю от неё неимоверное удовольствие. Люблю собирать требования, проектировать сложные системы, синхронизировать реализацию смежных систем и интеграцию между ними. 

Но со школьных лет никуда не делось и хобби - интерес к программированию. Десятки домашних мини-приложений и систем, полезных и не очень, на которые уходило время отведенное для “хобби”. Получаемый на работе опыт применялся в хобби, а получаемый в хобби -  на работе.

Работая над очередном мини-проектом я поймал себя на мысли, что реализовав несколько полезных функций системы (на схемах - бизнес функции), дальше время тратится на добавление в систему фундаментальных функций: работу с авторизацией пользователя и запросов, маршрутизацией, разграничением прав пользователей, логированием и пр. (на схемах - технические функции).

Именно на этой фазе зачастую энтузиазм пропадает. И проект уже получивший очертания, пополняет копилку таких же незавершенных

Схема 1. Дублирование базовых (технических) функций в каждой системе.
Схема 1. Дублирование базовых (технических) функций в каждой системе.

От пет-проекта к продукту

Так появилась идея, сначала выстроить вспомогательный технический инструмент, который без труда будет предоставлять все базовые функции. Инструмент, который будет легко подключаться к каждому проекту и я смогу сосредоточиться именно на разработке полезных функций очередного мини-проекта.

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

Схема 2. Группировка базовых функций в отдельный модуль.
Схема 2. Группировка базовых функций в отдельный модуль.

После нескольких итераций его использования он перебрался на сервер. Стал предоставлять базовые функции как сервис (SaaS). Стал местом управления всех, реализуемых мной систем. 

Схема 3. Предоставление базовых функций как сервис (SaaS).
Схема 3. Предоставление базовых функций как сервис (SaaS).

 И в этот момент пришло понимание, что это и есть тот самый пет-проект, который становится основным, который мне интересен и который я хочу развивать.

Ещё чуть позже инструмент стал доступен не только мне, но и любому желающему. Добавилось управление видимостью систем друг для друга. Появилась возможностью гибкой настройки доступа к их бизнес функциям как для иных своих, так и для чужих систем, использующих данный инструмент. Он стал своего рода маршрутизатором запросов между ними, общей платформой. У инструмента появилось имя - SysGateway (Маршрутизатор информационных систем)

Схема 4. Развитие инструмента как платформа для взаимодействия систем.
Схема 4. Развитие инструмента как платформа для взаимодействия систем.

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

Пример использования:

У меня товарищ занимается грузоперевозками. В одну из встреч я рассказал о своем хобби, он заинтересовался и попросил сделать ему систему по учету водителей\машин\клиентов\заявок. За один вечер я реализовал небольшой микросервис с несколькими методами для CRUD операций над этими объектами. Подключил свою библиотеку, через которую микросервис коннектится к платформе. На платформе зарегистрировал фронт-систему и бэк-систему с уже реализованным сервисом. Зарегистрировал реализованные в сервисе методы. В фронт-системе определил два профиля и сконфигурировал доступные им методы. Сделал небольшую фронт-систему, подключил библиотеку и для неё. Уже на четвертый день я отправил товарищу ссылку на систему, в которой он как владелец и его водители могли зарегистрироваться в системе и ознакомиться с MVP решения. А для отправки почтовых уведомлений водителям при назначении на них заявок, открыл доступ с уже реализованных ранее бизнес-функций другой системы.

И всё это вечерами, в свободное от работы время. Быстро и удобно.

Обращение к Хаброжителям за помощью

Я стою на развилке, на которой мне нужно сделать выбор: продолжать развивать инструмент как площадка для всех желающих или сосредоточиться на развитии для себя, для своих дальнейших пет-проектов. Буду очень благодарен, если пройдете небольшой опрос, который поможет мне определиться, стремится ли данному пет-проекту стать полезным продуктом для IT-сообщества, или не тратить на это силы и время.

Ссылка на опрос

Заключение

Я постарался максимально поверхностно, но концептуально описать возможности своего инструмента. Если интересно, то с технической реализацией и более полным описанием можно ознакомиться в разделе “Документация” на https://sysgateway.com/ 

Также буду рад видеть вас среди подписчиков в канале ТГ, где публикую информацию об изменениях в платформе. И с удовольствием отвечу на все вопросы в лс ТГ @SysGatewayAdmin 

Какой бы не была дальнейшая судьба этого пет-проекта, для меня он стал отличным инструментом как для получения опыта в разработке, так и для дальнейшего использования. Рекомендую всем вести свои домашние проекты и буду рад, если мой инструмент станет вам в этом отличным помощником.

Комментарии (0)