Файл: Разработка службы курьерской доставки в мобильном приложении.docx

ВУЗ: Не указан

Категория: Реферат

Дисциплина: Не указана

Добавлен: 12.12.2023

Просмотров: 140

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

Раздел 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

1.1 Общая характеристика организации

1.2 Концепция Службы

1.3 Анализ существующих решений

Раздел 2. РАЗРАБОТКА СЦЕНАРИЕВ ПОВЕДЕНИЯ ПРИЛОЖЕНИЙ НА ЭТАПАХ ВЫПОЛНЕНИЯ КУРЬЕРСКОГО ЗАКАЗА

2.1 Алгоритм формирования заказа и поиска курьера

2.2 Алгоритм выполнения курьерского заказа

Раздел 3. ПРОЕКТИРОВАНИЕ АРХИТЕКТУРЫ СЕРВЕРНОЙ ЧАСТИ СИСТЕМЫ И МОБИЛЬНЫХ ПРИЛОЖЕНИЙ

3.1 Архитектура серверной части системы

3.2 Выбор оптимальной базы данных для разрабатываемой системы

3.2.1 SQLite

3.2.2 MySQL

3.2.3 PostgreSQL

3.3 Архитектура мобильных приложений

3.4 Средства разработки мобильных приложений

Раздел 4. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ СЕРВЕРНОЙ ЧАСТИ СИСТЕМЫ И МОБИЛЬНЫХ ПРИЛОЖЕНИЙ

4.1 Разработка структуры базы данных

4.2 API для работы с мобильными приложениями

4.3 Структура Android приложения

4.4 Проверка выполнения разработанных сценариев для реализованной системы

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Приложение 1.

Приложение 2.

Плюсы:

  • надежность. Существует система страхования товара (0,9%);

  • система рейтингов. Для мотивации курьеров;

  • собственный call-центр;

  • приложения под все основные мобильные платформы (iOS, Android, WindowsPhone).

Минусы:

  • сложность регистрации курьеров;

  • сложность вывода денег;

  • отсутствие клиентского мобильного приложения.

Bringo

В отличие от «Достависты» в Bringo создали сразу два мобильных приложения – одно для курьеров, другое для заказчиков. Кроме того, у сервиса есть 40 штатных курьеров – они выполняют заказы, за которые не берутся фрилансеры. Вознаграждение Bringo – 19% от стоимости доставки. Деньги за свою работу курьер получает на банковскую карту или на виртуальный счет в системе. Он может взяться за выполнение заказа, если сумма на его счету или карте превышает объявленную стоимость доставки – она блокируется в качестве гарантии. Базовая стоимость доставки в Bringo составляет 180 руб., но растет в зависимости от того, сколько времени курьер проводит в пути (за час уже 390 руб.).

Плюсы:

  • наличие штатных курьеров, способных выполнить долго «висящий» заказ;

  • приложения под все основные мобильные платформы (iOS, Android, WindowsPhone).

Минусы:

  • вознаграждение ниже чем у конкурентов;

  • выкуп заказов курьерами. Для того чтобы взяться за заказ необходимо пополнить счет;

  • работа только по Москве;

  • стоимость заказа варьируется от времени.

Пешкарики

Еще один похожий сервис называется «Пешкарики». Его создатель Дмитрий Петров в отличие от своих коллег из Bringo и «Достависты» не понаслышке знал о проблемах доставки для интернет-магазинов. В интернет-бизнесе он с 2003 года, в его активе – IT-платформа по SEO-оптимизации и интернет-магазин по продаже запчастей для скутеров.

У «Пешкариков» базовая стоимость доставки день в день – 350 руб., на следующий день – 220 руб. С этих денег сервис получает 10–15% (новые курьеры платят больше). Плюс продавец выплачивает 1% от объявленной стоимости товара «Пешкарикам», если товар предоплачен, и 2%, если курьер должен получить наличные. В сервисе этот сбор называют страховкой; он делится поровну между «Пешкариками» и курьером.

Плюсы:

  • высокое вознаграждение для курьеров;

  • приложения под все основные мобильные платформы (iOS, Android, WindowsPhone).


Минусы:

  • для того чтобы получать более высокое вознаграждение курьеру необходимо проработать какое-то время.



Рисунок 1 – Анализ существующих решений



Раздел 2. РАЗРАБОТКА СЦЕНАРИЕВ ПОВЕДЕНИЯ ПРИЛОЖЕНИЙ НА ЭТАПАХ ВЫПОЛНЕНИЯ КУРЬЕРСКОГО ЗАКАЗА


2.1 Алгоритм формирования заказа и поиска курьера





Рисунок 2 – Алгоритм поиска курьера
Весь процесс классически начинается со стороны клиентского приложения.

Клиент заполняет максимально упрощенную форму для заказа курьера которая включает в себя информацию об отправителе и получателе.

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

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

Для того чтобы максимально упростить выбор адресов отправителя и получателя, в клиентском приложении интегрирован Google Maps Geocoding API. При поиске адреса через поисковую строку, система по первым буквам подбирает ближайшие адреса в радиусе 25 км. Также пользователь может указать адрес прямо на карте.

Заполнив форму, клиенту будет предложено выбрать метод оплаты (наличные или кредитная карта). Стоимость заказа рассчитывается мгновенно, при любом изменении формы заказа на сервер отправляется запрос с обновленными параметрами заказа, а в ответ возвращается пересчитанная сумма заказа. После выбора способа оплаты и подтверждения клиентом заказа по СМС на сервер отправляется запрос о добавлении заказа в базу данных, и поиска курьера. Клиенту приходит Push уведомление о том, что заказ принят к исполнению, на экране виден статус «Поиск курьера».

После регистрации заказа на стороне сервера происходит поиск курьера по принципу «Ближайший к отправителю». Координаты курьера сервер получает с устройств активных курьеров через определенный промежуток времени путем пассивного трекинга (приложение получает координаты запрашивая их не напрямую через GPS датчики или Network, а из операционной системы, т.е. через другие приложения. Особенности пассивного тренинга будут рассмотрены в технической части дипломной работы).


После того, как найден ближайший курьер, ему приходит Push оповещение с предложением о заказе. При переходе через Push уведомление, курьер оказывается на экране «Новый заказ».

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


2.2 Алгоритм выполнения курьерского заказа





Рисунок 3 – Алгоритм выполнения курьерского заказа
Весь алгоритм представляет собой постоянную синхронизацию клиентского и курьерского приложения через базу данных.

Для обоих приложений алгоритм выполнения делится на четыре этапа:

  • курьер едет в точку А;

  • курьер прибыл в точку А;

  • курьер едет в точку Б;

  • курьер доставил посылку.

В курьерском приложении каждому этапу соответствует определенный экран в приложении с одноименным названием. Также предусмотрен этап взаимного выставления оценок курьером и клиентом друг другу, но к основным этапам он относиться не будет.

Этап «Курьер выехал в точку А» начинается сразу после подтверждения курьером принятия заказа. Курьерское приложение отправляет запрос на сервер с соответствующим статусом. По прибытии на место, курьер должен уведомить отправителя о том, что он прибыл на место нажав на кнопку «Я на месте».

В курьерском приложении предусмотрена защита на случай, если курьер случайно или еще по каким-либо причинам раньше нажмет на кнопку. Как было сказано выше, в обычном режиме, координаты пользователя получаются путем пассивного трекинга, но в случае смены статуса, приложение пошлет один точный GPS запрос о местоположении пользователя, и передаст эти данные на сервер. Таким образом, если расстояние от устройства курьера до точки «А» будет больше, например, 1000 метров, курьер получит соответствующее уведомление.


Также на этом этапе курьеру будет представлена возможность перейти из приложения в навигатор (на момент написания работы в приложение интегрированы Яндекс навигатор и Citymapper).

В клиентском приложении по понятным причинам на этапе выполнения заказа все устроено гораздо проще. Путем постоянной синхронизации с сервером и получения координат курьера, клиент видит на карте его местоположение и статус выполнения заказа.

На этапе «курьер прибыл в точку А», курьер должен будет взять у отправителя подпись и сфотографировать посылку. Уникальной особенностью приложения является то, что для этих целей курьеру нет необходимости иметь при себе какие-либо документы. Подпись отправителя будет получаться благодаря интегрированному в приложение «Электронному планшету».

На экране клиентского приложения статус выполнения меняется на соответствующий.

Этап «Курьер выехал в точку B» по функционалу похож на этап «Курьер выехал в точку А». Курьеру также дается возможность перейти в навигатор. Так в обоих приложения есть возможность связи с курьером (клиентом). В клиентском приложении на протяжении всего этапа происходит отображение местоположения курьера. По прибытии курьера к получателю, он также, как и на этапе «курьер прибыл в точку А», получает подпись получателя. Чтобы завершить заказ, в приложении, необходимо нажать на кнопку «Доставлено», при этом на сервер будет отправлен статус о завершении заказа.

На этапе «курьер доставил посылку» оба приложения перейдут в режим оценки. Клиент может, по желанию, оценить клиента и оставить ему отзыв. Что в дальнейшем будет влиять на рейтинг курьера. Курьер соответственно может также оценить клиента.