ConXion — стартап, основной целью которого является облегчение жизни путешественников и людей которые проводят большую часть жизни в дороге.
Идея сервиса заключается в поиске попутчиков для разделения расходов на такси из аэропорта.
Перед нашей командой стояла задача разработать мобильное приложение для Android, которое отвечало бы следующим требованиям:
- Быть интуитивно понятным
- Иметь привлекательный и яркий дизайн
- Приложением должно быть удобно пользоваться в условиях спешки, что характерно для аэропортов

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

Поиск попутчиков
После регистрации в приложении у пользователя есть возможность сразу же начать поиск попутчиков лишь указав точку назначения и количество людей едущих с ним.
Поиск ведется среди людей у которых установлено приложение и которые находятся в определенном радиусе, который устанавливается в настройках (по умолчанию — 2 км).
В результатах поиска можно увидеть всех близлежащих пользователей соответствующих параметрам. Также добавили возможность просмотра профиля конкретного пользователя, в котором отображаются фотографии, языки и национальность.
После выбора подходящего попутчика у пользователя есть возможность отправить ему запрос. Причем количество запросов неограниченно, тем самым у пользователя есть возможность начать диалог с несколькими людьми одновременно.

Чат
Если попутчик отвечает положительно на запрос — инициируется диалог в котором пользователи могут обсудить все интересующие друг-друга вопросы и договориться о месте встречи, чтобы вместе найти такси до точки назначения.
Все чаты вынесены в отдельную вкладку в интерфейсе, на которой в случае получения новых сообщение отображается уведомление.
В случае если пользователя не устраивает попутчик — оставили возможность отклонить запрос.

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

Техническая реализация
Работая над данным проектом, мы стремились максимально сократить бюджет разработки и при этом выполнить работу в кратчайший срок. Поэтому было решено использовать Firebase BaaS(Backend-as-a-service). В качестве базы данных использовалась Firebase Realtime DB. Данный подход отлично работает для небольших проектов, к тому же, он позволяет в кратчайшие сроки реализовать бэкенд не разрабатывая сложных API. Более того, Firebase Realtime DB позволил организовать обновления контента в реальном времени не используя Socket или Push Notifications, что положительно сказалось на стабильности приложения и стоимости разработки.
Так как мы стремимся идти в ногу со временем, само приложение для Андроид написано современным языком программирования Kotlin, а aрхитектура приложения отвечает принципам Clean Architecture, а также MVVM благодаря Android Architecture Components. Это обеспечивает гибкость в процессе разработки и экономит время если требуется изменить дизайн или бизнес логику приложения.
Для реализации UI части для чата между попутчиками была использована собственная Android библиотека ChatKit. Что в свою очередь тоже позволило значительно сэкономить средства клиента и время на разработку.
Анимация
Для экрана загрузки реализовали анимированную версию логотипа и внедрили ее в приложение при помощи библиотек Lottie.

Команда проекта:
- Светлана Болгар
Проектный менеджер
- Александр Кононенко
Дизайнер
- Андрей Ткач
Руководитель отдела QA
- Антон Б.
Android разработчик