дипломная работа. Даар. Разработка службы курьерской доставки в мобильном приложении
Скачать 0.63 Mb.
|
Раздел 2. РАЗРАБОТКА СЦЕНАРИЕВ ПОВЕДЕНИЯ ПРИЛОЖЕНИЙ НА ЭТАПАХ ВЫПОЛНЕНИЯ КУРЬЕРСКОГО ЗАКАЗА2.1 Алгоритм формирования заказа и поиска курьераРисунок 2 – Алгоритм поиска курьера Весь процесс классически начинается со стороны клиентского приложения. Клиент заполняет максимально упрощенную форму для заказа курьера которая включает в себя информацию об отправителе и получателе. Обязательными параметрами, которые необходимо указать, являются номера телефонов отправителя и получателя и соответственно их адреса. Остальная информация о посылке, которую необходимо доставить указывается по желанию. Выбор номера телефона возможно производить из телефонной книги, при этом помимо номера телефон автоматически подставляется имя из телефонной книги. Для того чтобы максимально упростить выбор адресов отправителя и получателя, в клиентском приложении интегрирован Google Maps Geocoding API. При поиске адреса через поисковую строку, система по первым буквам подбирает ближайшие адреса в радиусе 25 км. Также пользователь может указать адрес прямо на карте. Заполнив форму, клиенту будет предложено выбрать метод оплаты (наличные или кредитная карта). Стоимость заказа рассчитывается мгновенно, при любом изменении формы заказа на сервер отправляется запрос с обновленными параметрами заказа, а в ответ возвращается пересчитанная сумма заказа. После выбора способа оплаты и подтверждения клиентом заказа по СМС на сервер отправляется запрос о добавлении заказа в базу данных, и поиска курьера. Клиенту приходит Push уведомление о том, что заказ принят к исполнению, на экране виден статус «Поиск курьера». После регистрации заказа на стороне сервера происходит поиск курьера по принципу «Ближайший к отправителю». Координаты курьера сервер получает с устройств активных курьеров через определенный промежуток времени путем пассивного трекинга (приложение получает координаты запрашивая их не напрямую через GPS датчики или Network, а из операционной системы, т.е. через другие приложения. Особенности пассивного тренинга будут рассмотрены в технической части дипломной работы). После того, как найден ближайший курьер, ему приходит Push оповещение с предложением о заказе. При переходе через Push уведомление, курьер оказывается на экране «Новый заказ». Курьер вполне может отказаться от заказа или попросту не увидеть оповещение. В таком случае предложение о заказе переходит к следующему курьеру (в течении одной минуты в случае игнорирования предложения). В случае подтверждения заказа, на сервер отправляется запрос о принятии заказа, после чего курьер получает подробную информацию о принятом заказе, а клиент получает оповещение о том, что заказ принят и информацию о курьере, принявшем заказ. Алгоритм поиска курьера завершен. 2.2 Алгоритм выполнения курьерского заказаРисунок 3 – Алгоритм выполнения курьерского заказа Весь алгоритм представляет собой постоянную синхронизацию клиентского и курьерского приложения через базу данных. Для обоих приложений алгоритм выполнения делится на четыре этапа: курьер едет в точку А; курьер прибыл в точку А; курьер едет в точку Б; курьер доставил посылку. В курьерском приложении каждому этапу соответствует определенный экран в приложении с одноименным названием. Также предусмотрен этап взаимного выставления оценок курьером и клиентом друг другу, но к основным этапам он относиться не будет. Этап «Курьер выехал в точку А» начинается сразу после подтверждения курьером принятия заказа. Курьерское приложение отправляет запрос на сервер с соответствующим статусом. По прибытии на место, курьер должен уведомить отправителя о том, что он прибыл на место нажав на кнопку «Я на месте». В курьерском приложении предусмотрена защита на случай, если курьер случайно или еще по каким-либо причинам раньше нажмет на кнопку. Как было сказано выше, в обычном режиме, координаты пользователя получаются путем пассивного трекинга, но в случае смены статуса, приложение пошлет один точный GPS запрос о местоположении пользователя, и передаст эти данные на сервер. Таким образом, если расстояние от устройства курьера до точки «А» будет больше, например, 1000 метров, курьер получит соответствующее уведомление. Также на этом этапе курьеру будет представлена возможность перейти из приложения в навигатор (на момент написания работы в приложение интегрированы Яндекс навигатор и Citymapper). В клиентском приложении по понятным причинам на этапе выполнения заказа все устроено гораздо проще. Путем постоянной синхронизации с сервером и получения координат курьера, клиент видит на карте его местоположение и статус выполнения заказа. На этапе «курьер прибыл в точку А», курьер должен будет взять у отправителя подпись и сфотографировать посылку. Уникальной особенностью приложения является то, что для этих целей курьеру нет необходимости иметь при себе какие-либо документы. Подпись отправителя будет получаться благодаря интегрированному в приложение «Электронному планшету». На экране клиентского приложения статус выполнения меняется на соответствующий. Этап «Курьер выехал в точку B» по функционалу похож на этап «Курьер выехал в точку А». Курьеру также дается возможность перейти в навигатор. Так в обоих приложения есть возможность связи с курьером (клиентом). В клиентском приложении на протяжении всего этапа происходит отображение местоположения курьера. По прибытии курьера к получателю, он также, как и на этапе «курьер прибыл в точку А», получает подпись получателя. Чтобы завершить заказ, в приложении, необходимо нажать на кнопку «Доставлено», при этом на сервер будет отправлен статус о завершении заказа. На этапе «курьер доставил посылку» оба приложения перейдут в режим оценки. Клиент может, по желанию, оценить клиента и оставить ему отзыв. Что в дальнейшем будет влиять на рейтинг курьера. Курьер соответственно может также оценить клиента. |