Як створювався мобільний застосунок для мережі продуктових крамниць Файно Маркет: розповідаємо про процес, технології та особливості розробки.
Мета і потреби клієнта
Файно Маркет – це українська мережа продуктових крамниць, яка позиціонує себе як “магазин поблизу дому”. Їхня філософія базується на уявленні про великі і малі крамниці, де звично зустрічаються і спілкуються місцеві. Тому Файно Маркет називає своїх покупців “сусідами”.
Наразі мережа втілює ряд ідей для підвищення екологічності та цифровізації, наприклад, замінюючи пластикові бонусні картки цифровими та просуваючи персоналізовані пропозиції покупцям. Згідно зі своїми соціальними зовов’язаннями, Файно Маркет диверсифікували програму лояльності, передбачивши знижки для:
- звичайних покупців
- пенсіонерів
- медиків
- співробітників Файно Маркет
Розробка мобільного застосунку для продуктових крамниць має кілька цілей:
- залучити більше покупців до програм лояльності
- отримати конкурентну перевагу в маркетингу
- підвищити адаптацію бізнесу до потреб споживачів, які постійно змінюються, за допомогою аналізу поведінки користувачів
Для цього Файно Маркет був потрібен розробник програмного забезпечення для продуктових крамниць, який міг би побудувати потрібний застосунок з нуля за короткий термін.
Початок розробки застосунку для продуктових крамниць
Файно Маркет вперше звернулися до Onix-Systems, уже маючи базовий візуальний дизайн майбутнього застосунку, а також негативний досвід співпраці з іншою аутсорсинговою компанією.
На жаль, вкрай обмежені строки виключали можливість реалізації усіх ідей та побажань клієнта у першій версії мобільного застосунку. Разом з клієнтом, ми переглянули, обговорили й узгодили всі елементи та вимоги до майбутнього результату. Таким чином, завдання першого етапу нашої співпраці звелося до створення базової версії застосунку з мінімумом основних функцій.
Функціонал
Додаток Файно Маркет працює для двох категорій користувачів:
- Покупці – клієнти продуктових крамниць, включно з пенсіонерами та медиками
- Співробітники продуктових крамниць
Мобільний застосунок для покупців
Застосунок для клієнтів дозволяє користувачу приєдантися до спільноти Файно Маркет з відповідними перевагами. Наприклад, віртуальна картка лояльності дозволяє отримувати бонуси та знижки у місцевій крамниці. Немає потреби завжди носити з собою пластикову картку. Щоб отримати знижку чи бонус, достатньо відсканувати штрихкод у телефоні на касі.
Застосунок для продуктових крамниць дозволяє користувачу:
- зареєструватися в системі як покупець
- обрати найближчий супермаркет Файно Маркет як “свою крамницю”
- бачити акції (знижки на окремі продукти) в “своїй крамниці” та інших супермаркетах мережі
- отримувати персональні пропозиції, сформовані на основі історії закупів, особистої інформації, на відповідей на опитуання конкретного покупця
- знайти інформацію про всі наявні програми лояльності та їхні відмінності
- дізнатися, яка знижка доступна користувачу наразі
- використовувати віртуальну картку лояльності при покупці
- оцінити обслуговування в конкретній крамниці
- переглянути свою історію закупів: список продуктів, дату покупки, адресу крамниці, суму в чеку, зекономлену суми
- скачати фіскальний чек будь-якої покупки
- отримувати бонуси та слідкувати за їх накопиченнями
- редагувати особисту інформацію в профілі
Головні екрани додатку для покупців включають:
- Реєстрація та вхід
- Домашній екран з новинами та спеціальними пропозиціями
- Екран карти лояльності з її номером та штрихкодом, який сканують на касі
- Екран рахунків з історією закупів
- Екран для відгуків, де можна оцінити візит у конкретну крамницю
- Екран підтримки, щоб зв’язатися з командою Файно Маркет
- Профіль з особистою інформацією покупця та всіма прикріпленими банківськими картками
- “Моя програма лояльності” з інформацією про всі доспупні програми
Мобільний застосунок для працівників продуктових крамниць
Додаток для співробітників Файно Маркет допомагає управляти робочим процесом, а також відкриває переваги спеціальної програми лояльності, подібно до клієнтського додатку. Кожен працівник має картку лояльності і має право на особливі знижки.
Користуючись мобільним застосунком, співробітники мають змогу:
- переглядати свій робочий розклад
- відсилати та отримуати push-повідомлення, наприклад, викликати обраного свівробітника чи співробітників на певне побоче місце у крамниці
- переглядати подробиці своєї програми лояльності
- переглядати спеціальні пропозиції для співробітників
- сканувати штрихкод віртуальної картки на касі
- редагувати особисту інформацію в профілі
Процес, технології та нюанси розробки мобільного застосунку для продуктових крамниць
Onix-Systems розробили для Файно Маркет:
- нативний додаток для iOS
- нативний додаток для Android
- базу даних для відділку маркетингу Файно Маркет
База даних дозволяє маркетологам збирати нйважливіші метрики, аналізуючи, до прикладу, які товари проглядають найчастіше, які найбільше купують, та іншу інформацію про поведінку клієнтів. Ці знахідки допоможуть їм, серед іншого, персоналізувати пропозиції для споживачів.
Наш набір технологій для розробки додатку для продуктових крамниць включає:
- Фронт-енд розробка для iOS – Swift
- Фронт-енд розробка для Android – Kotlin
- Спільний бек-енд із Rest API – фреймворк CakePHP
Цей набір технологій дозволив вишукано кастомізувати функції додатку. Бек-енд розробка на основі PHP – це переірене рішення для інтеграції масивних баз даних та управління контентом.
Оскільки клієнт не хотів використовувати адміністративну панель, команда Onix створила інструмент, який дозволяє Файно Маркет самостійно адмініструвати базу даних. Інтеграція з власними системами управління відносинами з клієнтами та планування ресурсів Файно Маркет була складною, але ми розробили архітектуру, яка ідеально відповідала їхнім потребам. БД розміщена на сервері клієнта.
CakePHP дуже зручний в тому, що стосується налаштувань керування запитами до бази даних. Наразі там зберігається інформація про 18 мільйонів чеків і 70 мільйонів товарних позицій у чеках; це вимагає швидкої обробки запитів. Команда доклала значних зусиль, аби побудувати систему управління БД таким чином, щоб пришвидшити потік запитів і відповідей.
Індекси в базі даних створювалися під кожен запит, який сповільнював обробку. Самі запити також кілька разів коригувалися, щоб покращити продуктивність. Наприклад, ми встановлюємо складні умови, як-от перевірка дат та іншої інформації не відразу, а починаючи з селекції обмеженого набору даних. Ми періодично запускаємо аналізатор таблиць, щоб покращити пошук за індексами.
CakePHP сам по собі забезпечує оптимальний спосіб створення запитів до БД. Наприклад, він витягує всі зв’язки belongsTo одним запитом разом з основним записом. Таким же чином створювалися кастомні запити, а їх кількість мінімізувалася.
Наші бек-енд розробники також створили окремі кінцеві точки для інженерів із забезпечення якості, щоб ініціювати тестування автоматичних виробничих процесів, наприклад, надсилання push-повідомлень.
Однією з найскладніших задач була генерація спеціальних пропозиції для покупців з урахуванням численних параметрів:
- місце проживання користувача
- улюблена продуктова крамниця
- особиста інформація
- дії в додатку, тощо
Функція «примусове оновлення» була реалізована, щоб користувачі не пропускали важливі оновлення додатку, як-то нова функція або виправлена критична помилка. Коли розробники програми активують «примусове оновлення», користувачі, які не завантажили оновлення, не зможуть ввійти в систему. Користувачі, які вже увійшли, матимуть доступ лише до картки лояльності, функції “Файна Авоська” та push-повідомлень. На екрані, який блокує користування додатком, є кнопка, яка спрямує користувача на сторінку Файно Маркет в Google Play або App Store, щоб завантажити нову версію.
Дизайн мобільного застосунку
Початковий дизайн досвіду взаємодії був наданий клієнтом. Однак команді дизайнерів Onix довелося вносити зміни, коли додавалися функції.
Інший підрядник відповідав за початковий візуальний дизайн програми, проте наша команда дизайнерів створила деякі частини програми, як-от:
- Екран фіскальних чеків та екран деталей чеку
- Набір екранів з гнучкими анкетами
Результати і перспективи
Мобільний додаток Файно Маркет опублікований у магазинах Apple App Store та Google Play.
Додатки вже нараховують 100 000 активних користувачів у кількох регіонах України.
Клієнт задоволений першою версією додатку і планує розвивати його далі.
Дві великі нові функції, які вже перебувають в розробці:
Файна Авоська
Цей елемент програми лояльності покликаний знизити споживання поліетиленових пакетів у продуктових магазинах. Файно Маркет продає фірмові зелені авоськи зі вшитими NFC-мітками. Коли клієнт купує таку авоську, він може додати її до свого облікового запису за допомогою додатку. Приклавши свій телефон до мітки, він надсилає запит на сервер, і номер авоськи прив’язується до картки лояльності користувача. До одного облікового запису можна прив’язати кілька авосьок. Їх також можна видаляти, коли потрібно.
Коли користувач бере авоську на закупи, касир сканує його NFC-мітку подібно до штрихкоду в телефоні, і система Файно Маркет ідентифікує картку лояльності покупця. Так він може отримати бонуси та електронний чек, навіть не виймаючи з кишені телефон.
Гнучкі анкети
Цей інструмент дозволить адміністраторам і маркетологам Файно Маркет опитувати покупців для отримання цінної інформації та побудови продуктивних відносин з клієнтами. Застосунок буде збирати та обробляти відгуки споживачів щодо обслуговування в крамницях та використання мобільного застосунку. Кілька дій у мобільному застосунку будуть запускати анкети, як-то вхід чи перегляд персоналізованих пропозицій та транзакцій.
Ще одна функція планується:
Файна Кава
У кожній крамниці буде встановлена кавоварка з QR-кодом. Після того, як користувач відсканує QR-код, програма відобразить Інтернет-продукти – Напої – конкретний кавовий напій зі списку. Користувач оплатить його через ПриватБанк LiqPay, а касир одразу отримає повідомлення про те, що напій оплачено. Таким чином, користувач зможе зробити собі каву, не чекаючи в черзі.
З часом можуть додаватися нові функції, аж до створення програми доставки та інших рішень для зростаючої мережі супермаркетів.