kinming92 / inventory-pos

0 stars 0 forks source link

Research System Design #3

Open underwatercolors opened 2 years ago

underwatercolors commented 2 years ago

Assumptions:

  1. Service is used by a big size retail store like costco.
  2. Service is used by 20 cashiers/self-checkout-shoppers at a time.
  3. Database is read and write heavy. Read prices, stock number, user info, etc. Write sales transaction, price updates, stock number updates, user points, etc.
  4. A cache can be used for prices as it doesn't update often.
  5. There can be anonymous session and known session.

frontend

backend services

Database

Database Model design? Caching Services?? Serverless Function?? Usage of Docker??

https://app.diagrams.net/#Linventory-pos

Image

Image

underwatercolors commented 2 years ago

NoSQL vs SQL I think SQL is more appropriate because

Database Model Design image

underwatercolors commented 2 years ago

Caching Services Redis Low priority. Cache can be placed between services and database. Good for retrieving product prices, eg "MilkPrice":2.00", and product quantity, eg "MilkQuantity:150". Some decision to make when implementing cache: Read-Through, Write-Through, Write-Back, Write-Around, and Refresh-Ahead.

underwatercolors commented 2 years ago

Serverless Function AWS Lambda pros:

cons:

underwatercolors commented 2 years ago

AWS Things that can be hosted on aws