DEV Community

Amit Wani
Amit Wani

Posted on

Shoppable - E-commerce For Everyone

Overview of My Submission

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

image

Submission Category:

My category would be Microservice Mavens as this project has 6 decoupled backend microservices and one frontend

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 inventory
  • A customer can visit that merchant store
  • Customer can purchase items listed by merchant
  • Merchant will receive the order and will fulfill 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 request 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 send email 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

Link to Code

More details are available on the GitHub repo:

GitHub logo mtwn105 / Shopable

A Platform to create an online store for your business. Powered by Redis Stack!

Shoppable - E-commerce for Everyone

A Platform to create an online store for your business Powered by Redis Stack!

image

Powered By

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

How it works

Process flow

  • Merchant can register on the platform and create a store
  • He can add the items to inventory
  • A customer can visit that merchant store
  • Customer can purchase items listed by merchant
  • Merchant will receive the order and will fulfill 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 request 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โ€ฆ

Top comments (2)

Collapse
 
just_moh_it profile image
Mohit Yadav

Cool demo and app! ๐Ÿงก (only wished the ball was that cheap irl ๐Ÿ˜†)

Collapse
 
mtwn105 profile image
Amit Wani

๐Ÿ˜‚