1. Предыстория 2. Что хотел клиент. 3. Часть 1. Подготовка 4. Часть 2. Разработка интерфейса 5. Часть 3. Реализация 6. Часть 4. Публикация приложения |
Предыстория
Клиент занимается подбором элитного домашнего персонала в Москве и Московской области, и для расширения доли рынка он решил выйти на рынок среднего сегмента за счёт нишевого мобильного приложения.
Мы уже сотрудничали ранее с клиентом, (делали каталог соискателей, интегрированный с CRM-системой Клиентская база) и он знал наш уровень компетенций, поэтому обратился к нам без каких-либо сомнений.
Что хотел клиент
Разработать мобильное приложение для подбора домашнего персонала.
У Вас похожий проект или аналогичные задачи?
Давайте обсудим
Этапы решения
Часть 1. Подготовка:
Разумеется, любая сложная разработка должна начинаться с обсуждения идеи заказчика, анализа и планирования. Этим мы и занялись.
После первоначальных аудитов, изучения рынка и приложений конкурентов мы составили список требований к приложению:
- Основная механика приложения – каталог с информацией о соискателях;
- Информация о соискателях должна автоматически попадать в базу приложения из CRM системы Клиентская база;
- Направление подбора (няня, домработница, водитель и т.д.) нужно уточнять сразу после запуска приложения;
- Для комфортного поиска пользователю должен быть доступен фильтр (всего поиск происходит по 10-15 критериям);
- У пользователя должна быть возможность сохранять резюме в избранном;
- Пользователь должен иметь возможность купить контакты отдельного резюме, а также оплатить пакет резюме;
- Все резюме должны делиться на 3 уровня: непроверенные резюме (контакты можно посмотреть бесплатно, но нужно зарегистрироваться), телефонное собеседование и личное собеседование (отличаются стоимостью);
- Приложение должно быть доступно на Android и на iOS.
Сформировав список требований, мы детально проработали механику всех функций приложения. В результате работы мы сформировали Техническое задание и согласовали его с клиентом.
По итогам разработки технического задания мы сформировали стек проекта:
- MySQL;
- Xamarin.Forms;
- Xamarin.Android;
- Xamarin.iOS;
- Yii2.
Общая логика:
- Информация из CRM системы автоматически выгружается в базу данных приложения каждые 2 часа;
- С базой данных работает приложение и веб-каталог (минимальный функционал – только общий каталог и фильтр, т.к. развитие web-части мы решили оставить на дальнейшее развитие проекта ввиду ограниченного бюджета клиента);
- Основная бизнес-логика реализуется Xamarin.Forms, платформозависимый код реализуется на Xamarin.Android и Xamarin.iOS.
Часть 2. Разработка интерфейса:
После проработки технического задания мы приступили к разработке интерфейса мобильного приложения. Работа велась в 2 этапа:
- Разработка графических прототипов – позволила визуализировать функционал для клиента и определиться с размещением всех основных элементов;
- Разработка графического макета, которая сформировала итоговый вид приложения.
На каждом из этапов наш дизайнер готовил кликабельный прототип. Мы, как и клиент, могли запустить его на своих телефонах и протестировать удобство работы с каждым из элементов.
По итогам такого тестирования мы проверили основные гипотезы и сформировали понятный и симпатичный интерфейс.
Утвердив макеты с заказчиком, мы приступили к непосредственной реализации проекта.
Часть 3. Реализация:
Реализация проекта началась с основного функционала – каталога резюме.
Мы подготовили:
- серверную часть приложения;
- написали API для интеграции с CRM клиентская база;
- настроили шифрование персональных данных на стороне базы данных приложения.
После подготовки серверной части мы подготовили визуальную часть приложения и получили первый функциональный блок, состоящий из:
- Первого экрана приложения;
- Экрана выбора типа соискателей;
- Каталога соискателей нужного типа;
- Страницы с информацией о соискателе.
Обкатав этот функционал с клиентом, мы внесли несколько изменений, которые делали работу с каталогом комфортнее. После этого мы перешли к работе с фильтром.
К этому моменту все данные по резюме уже хранились в базе данных. Нам оставалось написать систему запросов и фильтрации.
В рамках этих работ мы подготовили:
- Экран фильтра;
- Логику управления фильтром в зависимости от типа соискателя (потому что нянь и водителей ищут по разным критериям);
- Синхронизацию со справочником станций метро CRM Клиентская база (чтобы для фильтрации всегда были доступны актуальные станции, используемые менеджерами клиента);
- Систему запросов к базе данных;
- Систему для сохранения и очистки последних результатов фильтрации.
После реализации фильтра мы вывели кнопку для его вызова и подключили фильтр к каталогу.
Реализация каталога и фильтра заложила самый базовый функционал сайта. Но без возможностей персонального доступа и оплаты использование приложения было бы невозможно.
Поэтому после реализации базы мы приступили к разработке блока личного кабинета.
Работы этапа включали в себя:
- Подготовку серверной части (таблицы профилей пользователей на стороне базы данных);
- Разработку интерфейсов личного кабинета (регистрация, профиль, избранные резюме);
- Разработку системы SMS-кодов для регистрации и авторизации;
- Разработку модуля избранных резюме;
- Интеграцию новых модулей с текущим функционалом.
Итак, на данном этапе наше приложение уже полностью связано с CRM, и в нем есть возможность увидеть, отфильтровать и сохранить для себя все интересующие резюме.
Осталось подключить монетизацию, добавить пару мелочей и опубликовать приложение на маркетплейсах.
Собственно, мы занялись оплатой:
- Подготовили модуль сохранения купленных резюме;
- Подготовили модуль для покупки контактов отдельного соискателя;
- Подготовили модуль для покупки пакетов резюме;
- Подготовили экран магазина тарифов;
- Провели интеграцию приложения с платежной системой LifePay;
- Провели интеграцию с системой встроенных покупок AppStore.
После этого у нас было практически законченное приложение. Нам оставалось добавить несколько, мелочей, что мы и сделали:
- Разработали систему платных заявок на подбор (это было дополнительным пожеланием клиента);
- Разместили экраны с политикой конфиденциальности и пользовательским соглашением;
- Добавили форму обратной связи по вопросам техподдержки;
- Внесли небольшие изменения для повышения удобства использования приложения.
Часть 4. Публикация приложения:
После окончания всех работ нам осталось опубликовать приложение в маркетплейсах PlayMarket и AppStore.
Учётные записи для публикации приложения были подготовлены заранее. В процессе разработки мы публиковали тестовые версии приложения:
- В PlayMarket размещалась версия для раннего закрытого тестирования;
- В AppStore тестирование происходило с помощью приложения TestFlight.
На этапах ранних публикаций стало ясно, что модерация Apple не пропустит приложение с нашей платежной системой и для размещения нужно будет использовать функционал встроенных покупок AppStore. Именно в тот момент мы скорректировали план работ с этапом подключения инструментов монетизации приложения.
После обкатки приложения рабочей группой на закрытых тестах мы опубликовали приложение для всеобщего доступа.
В настоящий момент клиент активно развивает само приложение и вместе с нами готовит планы по дальнейшему развитию функционала своего сервиса.