Meshique - High Level Design

This is the high level design for the Meshique e-commerce application.

Meshique high level design diagram.

The application is comprised of the following components:

  • Store front end, developed using the React framework.
  • Payment proxy to forward payments to the Stripe API, developed using Node.js.
  • Ordering System to handle stock levels and process orders, written in Python using the Django framework.

Store Front End

Customers browse the front end store products and can add them to their basket. From the basket screen users are able to purchase the items. The user enters their credit card details to make a payment which is processed by the Strip API

Payment Proxy Server

Payments are passed to the Strip API through a server developed using Node.js. This component deals with sending the payment to the Stripe API and utilises a web hook to listen for completed payments which are forwarded to the Ordering system for fulfilment.

Ordering System

Administrators for the store enter product and stock details which are displayed on the store front end as purchasable products. This utilises a REST API built using the Django REST framework.

The second function of the ordering system backend is to process the orders which are received by customers. Orders are stored in the database and administrators are able to log in and complete the order fulfilment workflow.

Another function of the backend is to handle notifications which are sent to both users and administrators when orders are received. This is handled using Sendgrid.