Попередній Наступний

TaskRunner app — платформа для замовлення послуг

Індустрія Послуги
Розташування Швеція
Розробка 2019 до сьогодні

Джон часто бачив, як батько звертався до сусіда по допомогу. Він задумався, чому не було інших сусідів, які могли б допомогти, якщо виникали інші проблеми. Це зародило в ньому ідею, що з часом стала основою для створення TaskRunner.

Завдання

TaskRunner — це онлайн-платформа для замовлення послуг. У системі є дві основні ролі: Runner / Виконавець і Poster / Замовник (послуг). Замовники створюють завдання з описом того, що необхідно зробити, і публікують його на платформі TaskRunner. Виконавці надсилають заявки на виконання завдання, Замовник обирає виконавця і вносить оплату за роботу. Після того, як Замовник і Виконавець підтверджують завершення завдання, останній отримує оплату. Також передбачена адміністративна роль для управління і контролю системи.

Платформа TaskRunner складається з:

  • Мобільного застосунку для Замовників (для платформ Android або iOS)
  • Мобільний додаток для Виконавця (на платформах Android або iOS)
  • Панель адміністратора (веб)

— Ми використали підхід, коли для двох різних додатків загальна бізнес-логіка міститься в єдиному модулі. Це дозволило прискорити розробку і спростити підтримку додатків у майбутньому.

Антон Бевза, Android розробник

Рішення

Клієнт прийшов в Stfalcon вже з готовим продуктом. Однак користувачі часто скаржаться на проблеми і порушення в роботі додатків і адмін панелі. Після ретельного аудиту старого проекту, оцінки вартості і ризиків доопрацювання, було вирішено розробити проект з нуля, використовуючи при цьому найсучасніші технології.

Backend був реалізований на платформі ASP.NET, як СУБД використовувався Microsoft SQL Server. У зв’язку з високими вимогами даних продуктів до ресурсів, загальна продуктивність системи була низькою. Крім того, — високі експлуатаційні витрати продуктів Microsoft. Було прийнято рішення нову систему розробляти на платформі Symfony, і використовувати PostgreSQL як СУБД. Ми написали кілька додаткових утиліт для перенесення даних з Microsoft SQL Server на PostgreSQL.

Старі мобільні додатки були реалізовані за допомогою технологій Cordova і React. Оскільки головними вимогами до нових додатків були стабільність і швидкість роботи, наші фахівці вирішили розробити нативні iOS і Android програми.

Технології

Backend реалізує REST API для обміну даними з клієнтськими мобільними додатками, інтегрований з декількома зовнішніми сервісами для виконання операцій з оплати замовлень, відправки email, SMS і PUSH-повідомлень. Робота в середовищі Kubernetes підвищує надійність і стійкість до відмов серверної частини продукту і системи в цілому.

Android додатки дотримуються принципів Clean Architecture. Проект розділений на чотири незалежні модулі: Poster, Runner, Domain, Data. Domain і Data модулі спільні для додатків Замовника і Виконавця. Це дозволило уникнути дублювання подібної бізнес-логіки в обох додатках. В результаті це значно скоротило час розробки.

У версії iOS ми використали архітектуру як на Android, 4 модуля: Domain, Data, Runner Presentation і Poster Presentation. Для прив’язки даних ми застосували RxSwift, оскільки для шару Presentation була використана архітектура MVVM. Для ініціалізації нових модулів Swinject, ми використали бібліотеку Dependency Injection. Це значно спрощує їх створення та повторне використання.

Для систем подібного типу важливо аналізувати дії користувачів. Для цього ми інтегрували два сервіси збору аналітики — AppsFlyer і Segment.
Також для забезпечення зворотного зв’язку та реалізації можливості користувачам звернутися до технічної підтримки і отримати миттєву відповідь безпосередньо в програмі, ми інтегрували сервіс Intercom.

Відгуки клієнтів

Robin Szekely
Founder of TaskRunner - online platform for ordering services
Martin Dam
CEO at TaskRunner – online platform for ordering services
Ми переписували продукт з нуля з командою Stfalcon. Я дуже радий співпраці. Відмічу помірні ціни, хорошу комунікацію та якість продукту.
Robin Szekely
Засновник онлайн-платформи для замовлення послуг “TaskRunner”

Результат

Ми змінили з нуля всі компоненти системи, покращили стабільність, швидкість і зручність роботи з додатками і адміністративною панеллю. В той же час, ми зберегли 100% наявних користувачів платформою.



Над проектом працювали:

  • Олександр Арбузов
    Олександр Арбузов

    Project Manager

  • Тетяна
    Тетяна

    Designer

  • Павло Попов
    Павло Попов

    Backend Developer

  • Антон
    Антон

    Tech Lead Mobile

  • Андрій
    Андрій

    Android Developer

  • Oleksandr
    Oleksandr

    IOS Developer

  • Олександра Бітюк
    Олександра Бітюк

    QA Engineer

  • Євген
    Євген

    DevOps

Наші проєкти