Git Product home page Git Product logo

delivery's Introduction

delivery

В качестве справочной информации для выполнения задачи можно использовать следующие ресурсы:

Проект Сервис курьерской доставки

Выполнять задачу на чистом PHP, без использования сторонних фреймворков. Для работы с базой данных использовать PDO.

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

В системе заведены несколько курьеров, у них есть расписание работы вида

пн 9:00 - 15:00
вт 10:00 - 18:00
ср выходной
чт 14:00 - 20:00
пт выходной
сб выходной
вс выходной

Курьер считается занятым, если на него назначены заказы в статусе "Назначен курьеру".

Система может вычислить предположительное время освобождения курьера, получив все его заказы в статусе "Назначен курьеру" и прибавив значение поля "Предположительное время курьера в пути" к текущему времени.

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

Операторский раздел

Форма создания заказа

Форма позволяет оператору создать новую заявку. Заявка содержит следующие поля:

  • Статус (Новый, Назначен курьеру, Доставляется, Доставлен, Отменен)
  • Описание доставляемых товаров
  • Сумма заказа
  • Адрес доставки
  • Предположительное время курьера в пути (считаем, что оператор вычисляет его в какой-то внешней системе и вносит готовый результат)
  • Ответственный курьер

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

Список заказов

Выводится список заказов, отсортированных по дате. Для каждого заказа в статусе "Назначен курьеру" выводится предположительная дата доставки с учетом загрузки курьеров.

Список курьеров для упрощения задачи можно задать напрямую в БД.

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.