EN

Nova Poshta Shopping

https://npshopping.com

Nova Posta opened the service of goods delivery from foreign online stores. For several reasons, the first version of the site did not solve the customer's business objectives and the management of logistics company decided to do a full restart of the service. We were engaged to the development of a new version of the site, where in a short time it was necessary to:

  • Make a new homepage design, redesign the entire interface;
  • Rewrite a software engine from scratch on Symfony2;
  • Make a custom admin dashboard for content management;
  • Make an admin dashboard for warehouse operators;
  • Implement multi-domain, multi-template and multi-language;
  • Integrate website with external NPI (SOAP) service.

Main page redesign

We've approached very seriously while designing the main page, because it is a place where user begins his/her acquaintance with the service. Here we talk about the services, show major benefits, give a brief step by step instructions for using the service and invite to register. On the main page we added the customs clearance cost calculator and the list of the most popular stores.

We have made the design easy and adaptive, so it looks natural at the smartphones' screens.

Order form

After registration, users get a personal address in the USA and can make purchases in foreign online stores. Next, in the personal dashboard user needs to register his/her order. We've divided the ordering process into a few steps, reducing the number of fields on a single screen. In addition, the system stores each step, which makes it possible to close the form and return to the order registration later.

The ordering process is implemented with the help of flow bundle, which describes every step and the transitions between steps with a state saving.

Order tracking

For the tracking user sees the status and details of his/her order, such as the cost of goods from the declaration, calculation of customs fees and shipping costs, and the address of receiving the package.

The data about order status we receive on our soap-server from NPI external service. All statuses and transitions are described as a state, we use state machine for it. The config describes not only all kinds of statuses, but the action to be performed when they are changed. For example, when the package status is changed, the user will receive an email notification.

Store list

Each online store on the site has its own landing page, made on the basis of the main page. The idea is to attract users through search engines to delivery service from a particular online store. Store catalog is constantly updated by the Nova Posta team, the useful publication for the website users are prepared in the blog.

After launch statistics

After a few weeks in the test mode, the service was launched with advertisements on the Nova Posta's main site and email campaign using client base. The large flow of new registrations has quite successfully converted into orders, so the prospect of success of service as a whole was confirmed. Of course, the launch of the new service is always fraught with operational problems at first, but the fast users' feedback allows to quickly fix them and to understand the weaknesses of the service. It is thanks to users we know how to improve and develop the service.

Back end features

On this project RabbitMQ is actively used for important tasks:

  • Sending notifications;
  • Realization of deferred tasks;
  • Email campaign;
  • Sending data to external sources.

During the development a task to make a multisite has appeared, where the site means a separate country. Each country has its own online stores, shipping addresses. When selecting the country, user is changing URL for www.npshopping/country/language interface.

For this purpose we've used Sonata Page Bundle and Symfony CMF Routing with additional bundle overriding. Admin dashboard is implemented on Sonata admin bundle, we also used the Block bundle and SEO bundle.

Cast:

  • Vladimir Sutowski Vladimir Sutowski

    Project Manager

  • Max Nesteruk Max Nesteruk

    Designer

  • Ruslan Homyak Ruslan Homyak

    Front End Developer

  • Yevgen Zholkevskiy Yevgen Zholkevskiy

    Back End Developer

  • Timur Bolotyukh Timur Bolotyukh

    Back End Developer

  • Misha Gasyuk Misha Gasyuk

    QA Manager

  • Zhenya Gurinovich Zhenya Gurinovich

    System Administrator