Необходимо разработать веб приложение на PHP + Symfony2 для отслеживания отправлений/грузов клиентами данного курьерского сервиса.
Требования к технологиям:
PHP 5.4+
MySQL
Symfony 2.3+ (желательно 2.7 LTS)
Doctrine2
Интерфейс должен быть такой же, как на сайте shipmercury.com. Разделы, которые не нужно реализовывать:
- Density Calculator
- Pay Invoice Online (Right menu block)
- Fuel Surcharge (Right menu block)
Необходимо реализовать возможность изменения логотипа сайта (ссылку на логотип можно изменить в конфиге) и изменения названия сайта (данный параметр также можно изменить в конфиге, то есть вхождения текста Mercury и MercuryShip™ будут заменяться на названия другие фирм, занимающиеся доставкой грузов)
Также необходимо изменять номер телефона и адрес (в разделе Contact Us)
Описание разделов:
Все разделы со статическим контентом, кроме следующих:
- Ship a Package ShipNow. Форма логина с таким же текстом, как на сайте shipmercury.com. Через эту форму можно войти в панель администратора.
- На главной странице необходимо добавить форму Package Tracking, такую же, как на странице Tracking.
При вводе Tracking номера в форму, необходимо искать трекинг номер в базе, если номер не найден то выводим текст ошибки, такой же, как на
Если трекинг найден, выводим данные трекинг номера с текущим статусом отправления и историей прошлых статусов движения отправления.
- Страница деталей трекинг номера. Страница должна быть сверстана в общей стилистике сайта и содержать следующую информацию:
Tracking Number
Scheduled Delivery Date (или Delivered On, если товар доставлен)
Tracking Information. Таблица с полями: Date & time, Status of Item, Location (пункт отправителя или пункт получателя) Новые статусы в данной таблице отображаются по прошествию времени с момента шиппинга (Time from shipping)
Описание панели администратора:
- Для простоты реализации, логин и пароль администратора предустановлен. (можно изменить их в конфиге веб приложения)
- Возможность просматривать/создавать/редактировать/удалять шаблоны статусов трекинг номеров. Описание полей:
Time from shipping: количество часов с момента отправки товара до момента установки данного статуса
Status: статус
Location: текущее местонахождение товара, это может быть пункт отправления или пункт получения (радиокнопка) Например Enrouted to и Location: название пункта получения товара.
- Возможность просматривать/создавать/редактировать/удалять трекинг номера. Описание полей:
Status Template: выбор шаблона статуса товара
Shipped on: дата, когда выслали товар, в формате MM/DD/YY, и время в формате HH:MM
Estimated delivery date: дата, когда товар должен придти получателю, в формате MM/DD/YY
Sender: информация об отправителе в формате: Full name, City, State ZIP, Country
Recipient: информация о получателе формате: Full name, City, State ZIP, Country
Type: тип товара, по-умолчанию Merchandise
Delivery method: метод доставки Standard или Express
Description: описание товара, опционально
Weight: вес товара, опционально
Value: задекларированная стоимость, опционально
Insurance: страховка, опционально
При редактировании трекинг номера, значение каждого статуса можно изменять. Т.к. товар не всегда идет по ожидаемой схеме, возможны форс мажорные обстоятельства и статусы нужно отредактировать. При редактировании статусов трекинг номера, шаблон не должен изменяться.