Dinku is an E-commerce website. The peculiarity is that it provides users the ability to purchase goods at discounted prices with the price-locking feature

our task

Generally, the work we faced was rather easy – we needed to create the E-commerce solution to sell goods and offer deals. The trick was in price-locking – the item has the retail price and the discounted prices that can be locked by users.
Usually, when it comes to eCommerce business owners often face some challenges:


Needs to load fast, otherwise, potential client will lose patience and go to other websites


“Young” websites often get hacked in order to receive clients personal and payment data. Business owners look for the most secure solutions

Multichannel shopping

Nowadays customers are used to certain digital comfort, i.e. using one account for everything. So integrations with media shopping platforms like Facebook is almost crucial

Payment and shipping

It is important to have a safe database to store clients’ payment information, manage payments, get reports from the system and additionally integrate the shipping service

Think mobile

A website is great for E-commerce, but there are still plenty of people who prefer to buy via their smartphones or tablets. Business owners need to keep that in mind before launching their solution

We kept that in mind while working on this project. It was decided that the website had to consist of the following sections:

  • Homepage
  • Separate page for each category (initially 8 of them)
  • Offer a deal
  • Search
  • Cart
  • Sign in (unregistered users) / My profile (registered users)

By client’s requirements only the registered users could purchase items on the website, thus any unregistered user could search the website and view the goods, but to purchase anything they had to undergo the registration process. Additionally, the solution required the Admin panel managed by the Admin user

The Implementation

The project should have been based on Zend Framework 2 and MVC structure. Operating System: CentOS 6.x or 7.x x86_64, programming language PHP 5.6.6+, database MySQL 5.5+

Client-side operating systems: Windows 7, Mac OS 10.x Client Side and Admin panel should operate on Mozilla Firefox 19+, Safari 5.0+, Chrome 26+. Client Side only: IE 11+

The Main page contains the menu bar in the header, clickable categories list, and contact information. All users can click any of the categories – the new page with available items will open, showing their retail prices and the deal price which is changing randomly from retail price to minimal deal price each second (values are set in admin panel). When users see the price they like, they can click “Lock price” button. The page also includes the Advertisements and the Slider with several constantly changing images that lead to certain pages when clicked

dinku implementation
Here on the Main page all users can Offer a deal – if they have something they want to sell they can fill in and submit a special form on the website. The system will validate all the required fields and if everything is correct the item will appear among other products

By clicking any suggested category on the Main page users get the list of goods with their retail prices and the deal prices. Registered users click the “Lock price” button, Cart page uploads. After the item was locked the text “The deal is gone!” is indicated and the item moves to the Locked items section at the bottom of the page. The Cart page indicates the item, locked price, shipping price and period, add another item / delete item options. Item can be locked for 30 minutes. During this time the payment and checkout should be made. Otherwise, the item returns back to the list of items, price starts changing randomly again. Users can lock only one product at a time. Till 30 minutes aren’t out or the purchase is not made, other products won’t be available for the user to lock

The Checkout process is simple – users need to provide their information:

First Name
Last Name
Phone number

The system also indicates the locations where shipping is currently available. Users have 2 payment options – Pay On Delivery (POD) or via Quickteller. If payment isn’t completed in 30 minutes, the popup is closed. The item returns back to the list of items, price starts changing randomly again. After a payment is done successfully, the order appears in the admin panel in the “View orders list” with “Sold” status, payment status is “Successful”. The system sends a notification email to the email address that user has indicated in his Account Details (Making order). If payment failed for any reason, the order appears in the “View orders list” with “Payment Failed” status, payment status is “Failed”

dinku checkout

All registered users have accounts where they can edit personal information, shipping information and change password. This information automatically fills in the fields on the Checkout page. Any user can get help or ask for the information in the live chat that is provided on every page that was integrated with the LiveChat API.

dinku edit

Admin panel is regulated by the Admin users, that manage the following sections:

Admin panel


First Name, Last Name, Email columns contain search text fields. All columns have an option for sorting items in ascending/descending order by clicking on a column name. Gender column has a drop list to filter the results (Female/Male/All. All is a default option). Birthday column has a filter to select date or a date range (indicating them on calendars)

orders admins products

Admin users are responsible for the information provided about each item. This is edited in the Admin panel:
  • – Product name, description & features
  • – The category it belongs to
  • – Product types and the amount left
  • – Vendor details & rating
  • – Retail & deal prices
  • – Shipping time and price
  • – Related images

Content Pages Email Templates Offered Deals

Offers that haven’t been reviewed yet are highlighted. By default rating of not reviewed offers is set to Good. Business Name, Contact Person, and Email columns contain search text fields. All columns have an option for sorting items in ascending/descending order by clicking on a column name. Category column has a drop list to filter the results (All/Electronics/Home/Babies&Kiddies/Lifestyle/Services. All is a default option). Rating column has a drop list to filter the results (All/Excellent/Very good/Good/Poor/Bad. All is a default option) Offer Sent column has a filter to select the date or a date range (indicating them on calendars)

Technology Stack

zend bootstrap js
mysql and php html css
Quickteller API
Live Chat API

Our Input

The website started working in 2017 in one country and it has almost 300 active users, 30 vendors, and around 5000 items to sell.

Need help with your E-commerce project? Contact our developers' team!