Skip to content
Elit Solutions
Web Design

Viplife.az — Online Store

A Node.js backend and Next.js front end, with a GraphQL API layered over the client's existing MSSQL system, plus SMS OTP login and two payment gateways.

Client: ViplifeYear: 2022Visit site

About the project

Viplife runs a chain of physical shops in Azerbaijan, and those shops have run for years on their own MSSQL-based sales and inventory system. The client wanted to sell online — but on one condition: the new site could not become an island. It had to work off the same data the shops do.

Building on the system that already worked

Rather than copy the catalogue into a fresh database and then fight to keep the two in sync, we pointed our backend straight at the client’s live MSSQL server. That meant:

  • Products, prices and stock levels come from the in-shop system
  • A change in the warehouse shows up on the site immediately
  • Staff keep working in the system they already know — there is no second admin panel

The GraphQL API

We wrote the backend in Node.js and put a GraphQL API over the existing relational schema. The front end asks for exactly the fields it needs and nothing else, which kept heavy pages like the product catalogue from dragging unused data across the wire.

SMS gateway and OTP sign-in

Customers sign in with their phone number, so we integrated an SMS gateway: on registration and on every login a one-time code goes out to the number, and the number is verified on the spot. There is no password to store, fake sign-ups are shut out, and by the time an order is placed the contact number on it is already known to be real.

Two payment gateways

We wired up two separate payment providers, and the customer picks which one to pay by card with. Running two also buys the client something practical: if one provider goes down, sales do not stop — payments simply carry on through the other.

The front end

The site is built in Next.js. Server-rendered product pages load fast and index cleanly in search engines — which mattered, because product pages are how the store earns organic traffic from Google.

Real screenshots of the work as we delivered it.

  • viplife.az
    The Viplife.az home page, with the category menu, the campaign banner and the new-products row
    The home page: the category menu, the current campaign banner and the newest products.
  • viplife.az
    A Viplife.az category page listing women's fragrances with prices, discount badges and paging
    A category page. The products, prices and stock all come straight from the shops' MSSQL system.
  • viplife.az
    A Viplife.az product page showing the photo, the discounted price and the add-to-basket button
    A product page — server-rendered by Next.js, so it loads fast and indexes cleanly.
  • Viplife.az open on a phone, showing the store with the search bar and the bottom navigation
    The store on a phone, with the same catalogue behind it.