PWA для логистики
30 000 UAHЕсть мобильное приложение для Android. Приложение предназначено для водителей-экспедиторов, осуществляющих адресную доставку товаров. Это чисто внутреннее приложение тесно связанное с учетной системой Компании. Сейчас столкнулись со следующими проблемами:
- У некоторых водителей iOS и есть даже один водила с WindowsPhone
- Распространение обновлений затруднительно
Возникла идея реализовать его аналог в web-версии. Это бы решило основные вопросы - кроссплатформенность и мгновенное обновление.
Большую часть информации, необходимой для принятия решения мы почерпнули в Интернете. А именно:
- отображение данных проблем не вызовет,
- pwa будет выглядеть как приложение благодаря технологии spa,
- service workers позволят работать offline,
- обмен данными можно сделать на комбинации web sockets и ajax запросов,
- бэкэнд на nodejs прекрасно подойдет для работы с pwa.
Остались три вопроса, которые нас беспокоят (возможно ли реализовать их на pwa):
- Водитель должен позвонить клиенту по прибытии на точку выгрузки. Факт звонка, время звонка, номер телефона клиента и статус вызова должны немедленно (или отоложено в случае отсутствия соединения) попасть в crm. Сейчас это реализовано вызовом Intent диалера с мониторингом результата по onResultActivity(). В то время как в обычном вебдеве я не нашел ничего большего чем ссылка с протоколом callto: или tel:. Волнует вопрос возможности получения статуса инициализированного через pwa звонка.
- Во избежание претензий водитель производит фотофиксацию товара при погрузке и выгрузке у клиента. Фотографии сохраняются локально и передаются на сервер в фоновом режиме (в зависимости от настроек при наличии любого инета либо только при наличии wifi соединения). Как я понял MediaStream позволяет работать с камерой смартфона в базовом режиме. Этого достаточно. Фоновая передача тоже не проблема, как я понимаю. А если pwa не сможет узнать типа соединения 3G/WiFi - то это не станет проблемой (легче оплатить водителям больше трафика чем заказывать разработку iOS приложения).
- Распределительный центр утром формирует задания на доставку водителям. Это как правило от 3 до 10 точек. Порядок и ориентировочное время доставки рассчитывает сервер, но водителю необходимо видеть маршрут на экране в режиме просмотра и в режиме навигации. Кроме того есть еще ряд случаев, когда необходимы геоданные: приложение раз в N секунд отправляет на сервер координаты машины, реализуя функции трекера (менеджеры видят где какой водитель в данный момент и могут рассчитать время прибытия более точно) и еще - факты звонка клиенту и фотофиксации также сопровождаются геопозицией, чтобы менеджеры видели, что товар выгружен у клиента, а не в гараже у кума водилы.
Есть еще один момент - перехват входящих звонков. Сейчас приложение фиксирует входящие звонки от клиентов - водителям. Но это, как я понял, совсем не реально. Мы решили, что эту функцию мы реализуем одним из двух способов: либо переведем все входящие звонки в колл-центр (т.е. исключим прямую связь от клиента к водителю), либо реализуем на нашем корпоративном астериске sip каналы с водителями и будем фиксировать звонки на сервере. Частично это закрывает пункт 1, но все таки хотелось бы иметь возможность нативной работы с диалером. Т.к. если водитель уехал на доставку в глушь - sip может там и не работать.
Прошу реальных pwa девелоперов ответить по пунктам 1-3 относительно возможности реализации. В положительном случае обсудим все остальные детали проекта.
-
321 1 0 Здравствуйте, Сергей
1. Вы уже и сами ответили на свой вопрос. В Android studio с использованием функции нативных методов можно записать кое-что по статистике. В любом не нативном приложении это будет возможно с использованием самого приложения, если скажем звонок будет проходить через WebRTC, а не GSM. Конечно, возможны такие комментарии как: "уже давно есть js библиотеки по взаимодействию с нативными функциями смартфонов" и т.д. Ну а кто-то пробовал внедрить их в продуктивном режиме, а не в MVP ? Мы однажды обожглись - получили решение которое работает 50 \ 50 с разными платформами и смартфонами в рамках одной платформы.. т.к. костыль остаётся костылем.
2. Скорее всего не сможет, но можно просто "тестировать" скорость канала и принимать решение о передаче
3. В iOS точно будут вопросы с этим. Возможность реализации оценю примерно как 70 на 30, где 70% - нет, невозможно. В остальном стабильность работы этой функции будет низкая
4. Такой перехват невозможен
Да и честно говоря, ПВА - пока ещё очень скользкая тема. Я бы рекомендовал делать нативно, ибо мороки с ПВА здесь однозначно больше чем на 30К грн(станет понятно в момент проведения интеграционного тестирования)
Или, как-бы.., более рентабельно сделать это на более устоявшихся веб-технологиях обеспечив при этом стабильный интернет на стороне экспедитора.
… АПИ методов серверной части описана ? на чем она ?
Заходите к нам в гости, в Харьковский офис - что то придумаем
мой мобильный+380986230857,
Федор Демченко,
Coral media development Ltd.
skype: art-coral
[email protected]
http://coralmedia.com.ua
Актуальные фриланс-проекты в категории Javascript и Typescript
Ищу наставника по Claude Code для запуска веб-проекта с нуля**Кратко о задаче:** Я новичок без опыта в программировании. Есть готовое ТЗ на разработку сайта (42 страницы, Next.js, PostgreSQL). Хочу реализовать его самостоятельно с помощью Claude Code - нужен специалист, который настроит среду и научит меня работать с инструментом. ---… Javascript и Typescript, Обучение ∙ 7 часов 32 минуты назад ∙ 15 ставок |
Обновление дизайна на сайтеНужно обновить дизайн существующего сайта используя HTML, CSS, JS: освежить внешний вид, сделать его современным и адаптивным под мобильные устройства. Требуется добавить плавные анимации и интерактивные элементы . HTML и CSS верстка, Javascript и Typescript ∙ 1 день 1 час назад ∙ 81 ставка |
Консультация и аудит текущего проекта на Odoo 19 Community EditionИщем Odoo разработчика — соло-разработчика с опытом разработки на Odoo 19 Community Edition, в том числе с использованием Claude Code. Нам нужен специалист, который успешно реализовал проекты в Odoo и имеет практический опыт разработки с использованием Claude Code. Важно:… C и C++, Javascript и Typescript ∙ 1 день 6 часов назад ∙ 5 ставок |
Интернет-магазин одеждыНужен разработчик для интернет-магазина одежды Ищу опытного разработчика для создания полноценного интернет-магазина одежды с дроп-моделью продаж. Что нужно сделать: 6 страниц: главная, товар, корзина, оформление, аккаунт, админ панель Вход через Google аккаунт Корзина и… HTML и CSS верстка, Javascript и Typescript ∙ 3 дня 3 часа назад ∙ 100 ставок |
Full-stack разработка — Amazon PPC Dashboard (Stage 1)Нужен full-stack разработчик с опытом работы с Amazon API для реализации Stage 1 внутреннего PPC-дашборда. Проект реальный, данные живые, всё готово к старту. Прототип фронтенда (5 страниц, React + TypeScript): ЧТО УЖЕ ГОТОВО — Фронтенд-прототип на React 18 + TypeScript + Vite… Javascript и Typescript, Веб-программирование ∙ 5 дней 14 часов назад ∙ 32 ставки |