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 MSSQL system already running in the client's shops, 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.