KdShop, a modern e-commerce solution

Kdshop is an e-commerce platform I built for a client. My first real world application 😊.

KdShop landing page


  • custom CMS using MongoDB
  • Username password authentication
  • Facebook and Google third-party authentication
  • Bot prevention using Google captcha
  • Responsive ( optimized for mobile )
  • User roles ( user, seller, admin )
  • Facebook Automated update on item submission ( seller account).
  • Ahead of time Facebook scheduling of post of shop state.
  • Pagination
  • Bot for dynamic user interaction
  • Full text search
  • Service worker ( PWA )

some insight

Incrementat Static Generation ( ISR)

Next.js made use of Next js features to furnish an app with optimal performances. I opted for incremental static generation ( ISG) on all pages with predictable content ( landing page, Item presentation page). ISG allowed getting a fast application that uses few resources and reduces cost.

Service worker

KdShop uses a service worker to optimize page load time and satisfies progressive web app (PWA) specifications. Thus, Kdshop is a modern hybrid app that can be used natively on any device.

Responsive images

Responsive images are a must-have in modern web applications. When dealing with user-generated content, image responsiveness can be difficult. In KdShop, dynamically sized images are generated using Cloudinary APIs. All images are stored on Cloudinary; only the minimal images are delivered which minimizes the load times for mobile devices.


Wrapping up, I learned a lot through this project. Something worked well while others didn't. Through this trial and error process, I learned a lot. I became a better software engineer. More importantly, I could reach the goal I had in mind when writing KdShop : Performance

Light house report

Live application ( Demo )

Normal account :
username: demo_user
password: password

Seller account :
username: demo_seller
password: password

Associated Facebook Page URL: Kdshop test facebook page

KdShop tour

NOTE : This app was meant for a french audience. This version has been manually translated, I apologize for any text left intact during translation

Thanks you for reading 😁

Copyright 2021, created by Daniel kodoh