Разработка системы персонального здравоохранения ONDOC

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

Сроки и цены

Срок сотрудничества 1.5 года

Технологии

Бэкенд Symfony, Doctrine (MySQL)

Команда

CEO Рома Лапин Разработчики Сергей Лунев Михаил Голодяев Игорь Адров Менеджер Никита Мовшин

OnDoc.me (ООО «МедКарта») — это система персонального здравоохранения, включающая в себя различные сервисы для безопасного хранения персональной медицинской информации, ее комплексного анализа и выявления наилучшего способа укрепить и сохранить свое здоровье.

Задача

  • реализация API для мобильного приложения
  • админка
  • панель оператора
  • веб-версия проекта по адресу ondoc.me
  • помощь в собеседовании программистов

Задач на старте проекта было много, но продвигались мы постепенно.

Александр, основатель проекта, планировал в первую очередь запустить и развивать приложение для iPad. Поэтому первым этапом работы стала разработка API для приложения. Одновременно с этим создавалась админка и панель оператора в веб-интерфейсе.

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

Летом прошлого года было принято решение постепенно набрать свою команду проекта. Поэтому мы помогали Саше собеседовать программистов и активно консультировали.

Организация работы и процесс

  • итерации
  • регулярные встречи

С самого начала именно на двух перечисленных выше пунктах строилась вся работа. Но интенсивность, продолжительность, места и формат встреч постоянно менялись.

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

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

В процессе разработки веб-версии встречи мы стали проводить более системно. К работе подключился наш первый менеджер, Никита.

Весной 2014 в разработке проекта наступила пауза — шел поиск новых инвестиций. А с лета встречи стали проходить уже в нашем новом офисе. Во встречах более активно стали участвовать непосредственно разработчики.

Обсуждения в основном проходили в Basecamp. После принятия решения о наборе собственной команды Александр решил разделить ведение уже на несколько проектов по разным направлениям разработки и деятельности. Разработчики вели свои задачи сначала на github, потом в Basecamp, пока наконец летом полностью не перешли на Youtrack.

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

Технологии и реализация

Проект разработан на фреймворке Symfony2 с Doctrine в качестве ORM. База данных — MySQL. Код проекта велся на github. Списком перечислю некоторые детали:

  • SonataAdminBundle — для основной админки системы
  • FOSRestBundle и NelmioApiDocBundl – REST api
  • bootstrap – для верстки панели администратора
  • RMSPushNotificationsBundle – отправка push уведомлений на iOS устройства
  • плюс ряд стандартных бандлов для работы с пользователями, меню, пагинацией, фикстурами и изображениями
  • для автоматизированного тестирования использовался behat с привлечением phpunit

Также в личном кабинете на сайте было много интересных решений по представлению графиков и отображению информации.

Среди технологических решений, конечно, были и сложности. Но в этот раз не буду останавливаться на них отдельно.

Результат и итоги

Осенью 2014 года мы полностью передали проект его собственной команде. В нее по разным причинам перешли в том числе и некоторые наши разработчики.

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

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

Вряд ли вы найдете команду программистов, которая сделает все, чтобы вы избежали ошибок и будет думать о вашем проекте, как о бизнес-продукте. Но мне повезло встретить таких — это Рома и его команда Evercode Lab.

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

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

Ну и конечно сама разработка — парни очень чутко относятся к желаниям заказчика, всегда оперативны и внимательны к обратной связи. Работать вместе было очень комфортно, а вот расставаться не хотелось вовсе.

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

P.S. Если вам было лень читать весь текст, то прочтите главное - Evercode Lab работает с душой и со максимальным уровнем ответственности за результат.

Александр Константинов, Генеральный директор

Evercode Lab

Close