UA EN

Мобільний додаток Triplook

Triplook - новий сервісний додаток у сфері туризму і знайомств, що містить елементи соціальної мережі. Мета сервісу - допомогти користувачам швидко знайти відповідного попутника для спільних тривалих подорожей або короткочасного відпочинку під час відпустки.

Stfalcon.com розробила дизайн і мобільний застосунок під платформи iOS і Android. Серверна частина додатка була реалізована з боку команди клієнта у вигляді зручного і добре документованого REST-API.

Для миттєвих повідомлень і realtime-подій ми написали власний сервіс, який займається обробкою івентів від publisher. У нашому випадку це основний застосунок, який відправляє на сервер інформацію про нову подію (наприклад, повідомлення про нового попутника).

Сервіс для роботи з realtime відправляє цей івент на клієнт:

  • якщо користувач онлайн - по сокетах;
  • якщо користувач офлайн - він отримає push-повідомлення або email.

Перевага цього рішення - у його простоті та незалежності від мови програмування або фреймворку: повідомлення між сервісами передаються за AMQP-протоколом. Від сервера на клієнт повідомлення передаються за WebSocket protocol (RFC 6455).

Прототипування

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

Наявність прототипу істотно спрощує оцінку подальшого розроблення дизайну і програмної частини, оскільки допомагає ясніше зрозуміти функціональні можливості майбутнього застосунку.

Пошук попутників

У мобільному застосунку Triplook пошук попутників містить 3 обов'язкових поля: місто відправлення, місто призначення і часовий період. Для зручності ми визначаємо місто відправлення з профілю користувача, а часовий період за замовчуванням - календарний місяць від сьогоднішньої дати. Таким чином, ми готові показувати результати пошуку, щойно користувач вибере, куди він хоче поїхати. Додатково є можливість вказати бажану стать і вік попутника.

Результати пошуку

За пошуковим запитом ми отримуємо список подорожей, що відповідають заданим параметрам. У списку результатів виводимо фотографії потенційних попутників. Запрошення в подорож можна надіслати як зі сторінки результатів пошуку, так і зі сторінки самої подорожі.

UX/UI дизайн і розробка інтерактиву

Щоб зробити застосунок більш живим, ми запропонували ідею невеликої анімації під час взаємодії користувача з інтерфейсом. Цю поведінку було задумано таким чином, що її можна повторювати в різних розділах застосунку.

Оскільки запропоновані анімації були в стилі Material Design, Android розробникам вдалося реалізувати їх за допомогою стандартних компонентів: CoordinatorLayout, CollapsingToolbarLayout. Анімацію переходів між екранами реалізовано за допомогою Transitions Framework.

Путівник по курортах: база знань для туристів

Сервіс Triplook має велику базу курортів, і пошук за ними - важлива частина функціоналу. Користувач може переглядати курорти за країнами і рейтингом, а також отримувати детальну інформацію про них, від необхідних документів до опису пам'яток, клімату і місцевої кухні. Не залишаючи екран курорту, можна шукати попутників, які збираються відвідати це місце, або додати курорт до списку обраних.

Real-time чат: інтеграція WebSocket для миттєвого спілкування

Для повноцінної соціальної складової було прийнято рішення реалізувати особисті повідомлення такими, якими користувачі звикли їх бачити в популярних додатках. Для миттєвої передачі повідомлень було використано протокол WebSocket. Усі події, які відбуваються в реальному часі, надходять у додаток через WebSocket з'єднання, коли користувач перебуває онлайн. Якщо ж користувач згорнув застосунок або загасив екран, застосунок закриває WebSocket з'єднання і далі отримує всі оновлення за допомогою push-повідомлень.

Команда проєкту:

Інші проєкти

arrow leftarrow right
Залишайте контакти, щоб дізнатися вартість розробки вашого проєкту

Бюджет

  • 10K
  • 20K
  • 50K
  • 100K
  • 150K
  • 200K