Помогаем строить платформу для управления частными детскими центрами

January 2021

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

  • бесконтактная регистрация прихода и ухода,
  • система сбора оплаты за обучение и пребывание,
  • инструменты управления бизнесом,
  • программы для внеклассных занятий,
  • управление персоналом и многое другое.

Kinderlime — самое популярное решение для частных детских центров в США, оно используется более чем в 30 000 центрах. Сервис доступен как веб-приложение, которое обеспечивает основной функционал для учителей и родителей, а также в виде мобильного приложения для iOS/Android с функциональностью для родителей.

Школы и детские учреждения в США были, пожалуй, одной из наименее цифровых областей, по крайней мере, до того, как Kinderlime запустила своё приложение. Это привлекло компанию Procare, частью которой с недавних пор стала Kinderlime. В середине 2017 года технический директор и соучредитель компании Налин Сентамил обратился в Evrone за помощью в разработке этого образовательного продукта.

Задача

Команда клиента к тому моменту уже была распределённой: специалисты находились в Индии, Калифорнии и Сан-Хосе и активно работали над приложением. К нам они обратились с планами на редизайн архитектуры своего Rails-приложения и внедрения новых функций как в веб-сервис, так и в мобильную версию.

Kinderlime ставили две цели:

  • разделить монолитное Rails-приложения на компоненты: фронтенд и бэкенд через REST API,
  • создать новый фронтенд на основе уже готовых макетов, описывающих видение каждого экрана

Команду Kinderlime привлёк наш опыт в архитектуре приложений на Rails, а также похожие Rails-проекты в нашем портфолио.

Работаем с API

Когда бизнес растёт и требует от цифровых продуктов больше новых функций, случается, что добавление новых моделей в Rails-приложение превращает его в неповоротливый монолит. Такое решение очень сложно и дорого поддерживать, поэтому приходится разделять его на отдельные микросервисы. С этим столкнулся и наш клиент — к моменту обращения в Evrone фронтенд и бэкенд уже были разделены, а от нас требовалось сосредоточиться на задачах по фронтенду и API.

Мы написали библиотеку поверх Redux и Axios. Она описывает пути к эндпоинтам API, а также может описать параметры и функции для преобразования запроса и ответа, а также параметры редюсера. Используя эти данные, библиотека генерирует функции для отправки запросов и обработки ответов, редюсеры для Redux и события, на которые редюсер отвечает. Без нее мы бы переписывали код сотни раз для описания запроса.

Внедрение CRM системы

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

Мы с нуля разработали конструктор регистрационных форм, который позволяет создавать вопросы, поля для заполнения, делить форму на этапы, создавать кастомные поля. Преподаватели могут редактировать шаблоны и создавать новые формы для регистрации детей в школы и детские центры через админпанель.

Кроме этого мы занялись интеграцией системы e-mail и sms рассылок со статистикой по открытию и просмотрам сообщений.

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

Эти графики доступны в двух видах:

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

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

Конструктор форм для сбора заявок и библиотека описания форм

По просьбе клиента мы добавили онлайн-конструктор e-mail рассылок. C его помощью можно создавать кастомные рекламные рассылки, управлять списками адресов, автоматически отправлять письма родителям, чьи дети уже зачислены. Отправляемые письма открываются практически в любом почтовом клиенте: Outlook, Apple Mail, Gmail и так далее.

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

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

Технологический стек

Мы использовали React на фронтенде, Redux для управления состоянием и Webpack для сборки. Также интегрировали Stripe и сервисы партёнрского банка для обеспечения платежей через Webview. Для реализации drag-and-drop в редакторе почтовых рассылок использовали React DND.

CircleCI использовали для непрерывной интеграции, AWS в качестве облачного хранилища, а также сервисы Intercom для связи с клиентами.

Впервые на этом проекте мы использовали Cypress — фреймворк для end-to-end тестирования. С его помощью мы покрыли 90% кода тестами. Для Kinderlime мы обучились работе с Cypress с нуля.

Результат

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

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

Если вы тоже планируете разработать EdTech продукт — напишите нам через форму внизу и мы поделимся своим опытом.

Команда Evrone в каком-то смысле инвестирует в наш проект свой интерес и хочет успеха так же, как и мы. У них отличный набор талантливых разработчиков, с которыми легко работать, и мы ценим их знания, вовлеченность и преданность делу. Каждый раз, когда мы бросаем им вызов, они более чем способны его принять.
Налин Сентамил
CTO Kinderlime
Будем на связи
Прикрепить файл
Максимальный размер файла: 8 МБ.
Допустимые типы файлов: jpg jpeg png txt rtf pdf doc docx ppt pptx.