Amit Wani
Amit Wani's Blog

Amit Wani's Blog

Shoppable - E-commerce For Everyone

Shoppable - E-commerce For Everyone

Amit Wani's photo
Amit Wani
·Sep 4, 2022·

2 min read

Subscribe to my newsletter and never miss my upcoming articles

Table of contents

  • Overview
  • Languages/Technologies Used
  • Demo
  • Additional Info
  • Link to Code

Overview

Shoppable is A Platform to create an online store for your business. Powered by Redis Stack!. You can visit it here

image

Languages/Technologies Used

NodeJS Angular Redis Stack (RedisJSON, RedisSearch, Redis Streams)

Demo

Additional Info

Process Flow

  • Merchant can register on the platform and create a store
  • He can add the items to the inventory
  • A customer can visit that merchant store
  • Customers can purchase items listed by the merchant
  • Merchant will receive the order and will fulfil it
  • Customer will receive notifications regarding the order

Technical Overview

  • There are 6 microservices (merchant, inventory, customer, order, update, file-upload)
  • All servers are based on NodeJS
  • The client is based on Angular and Angular Material
  • An Nginx is used to route requests to various microservices as a reverse proxy
  • Redis Stack is integrated with the help of Redis OM and Node Redis NodeJS libraries
  • Redis Stack is hosted on Redis Cloud itself
  • RedisJSON, RedisSearch and Redis Streams has been used
  • RedisJSON is used to store JSON documents for various schema such as Merchant, Customer, Product, Order, etc.
  • RedisSearch is used alongside RedisJSON to search through different repositories
  • Redis Streams is used for publishing and listening to order updates and sending emails using Mailjet to the customer regarding the update
  • Apart from this, Google Cloud Storage is also used to store images of the products uploaded by the merchant

Architecture

shoppable_architecture

Application Screenshots

Merchant Login Login

Merchant Dashboard Merchant Dashboard

Merchant Inventory Merchant Inventory

Merchant Add/Edit Product Merchant Add/Edit Product

Merchant Orders Merchant Orders

Store Home Store Home

Product Page

Product Page

Cart

Cart

Order Details

Order Details

Email Notification

Email Notification

More details are available on the GitHub repo:

Did you find this article valuable?

Support Amit Wani by becoming a sponsor. Any amount is appreciated!

See recent sponsors Learn more about Hashnode Sponsors
 
Share this