PWA для логистики
2478 PLNЕсть мобильное приложение для 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
Aktualne zlecenia dla freelancerów w kategorii Aplikacje desktopowe
Modyfikacja w pracy emulatora
165 PLN
Witaj. Ściągnąłem z Internetu emulator automatu do gier gaminator cf final. Bardzo mi się podoba, ale są tam niedociągnięcia. Jest panel administracyjny, ale otwiera się swobodnie, a nie zamyka w ogóle. Zamyka się tylko razem z aplikacją. A dane po zmianach w panelu… Aplikacje desktopowe ∙ 3 dni 5 godzin temu ∙ 10 ofert |
Opracowanie niestandardowego oprogramowania (aplikacja na Androida + CMS) dla kiosków samoobsługowych SUNMI K2 (fast food)
83 PLN
Szukamy doświadczonego zespołu lub programisty Android na poziomie średnim/zaawansowanym (możliwe, że z umiejętnościami Full-stack) do stworzenia własnego oprogramowania dla kiosków samoobsługowych sieci fast food. Obecnie nasze terminale działają na bazie gotowego chmurowego… Content Management Systems, Aplikacje desktopowe ∙ 8 dni temu ∙ 23 oferty |
Należy przeprowadzić migrację obecnego programu roboczego z foxpro na C#Cześć wszystkim! Mamy program na foxpro (ma kilka modułów, program do ewidencji), mamy źródła programu, w razie pilnej potrzeby można skonsultować się z osobami zajmującymi się wsparciem bieżącego programu. Co należy zrobić: 1. Analiza, co i jak działa, sporządzenie listy… C#, Aplikacje desktopowe ∙ 13 dni 9 godzin temu ∙ 19 ofert |