Designing a Point Of Sale system — Part 2

Kiran Mushnuri
2 min readMar 3, 2024

The previous article provided the foundations of various aspects related to designing Point Of Sale System. Now in this article, I will be covering the basic design for POS. It will be a vanilla design. In the subsequent articles, i will explain how this system will evolve to become highly scalable to millions (and billion transactions).

Note: This design doesn’t cover the network and infrastructure aspects. I will cover them in the subsequent articles.

As i said, this is a simple design which contains all the features that are needed for any POS to perform. The key capabilities in the design include:

  1. Item lookup — This is to search the items from available inventory list
  2. Pricing Management — This is to see what is the price associated with each item
  3. Inventory management — This capability contains all the inventories available in the store
  4. Transaction processing — This is to ensure the transaction is successful
  5. Payment processing — Connect to the payment gateway and perform the payment
  6. CRM — This is more for customer analytics including preferences and payment history pertaining to each customer
  7. Integrations — This is to integrate with all the internal and external systems

Database : The inventory system uses a simple RDBMS to store all the inventories.

Security :

  1. Encryption : Data encryption ensures that information transmitted between the POS terminal and the payment processor is secure and unreadable to unauthorized parties
  2. Real-Time authorization check : Payment authorization checks are performed in real-time to verify the authenticity of payment cards.

As one can see, this solution works for limited transactions since all are connecting to the same database. When we need a scalable and highly available system and design, the above design needed multiple changes.

In the subsequent articles, I am going to cover what are the trade-offs with this design and how we can address those concerns by enriching the design.

If you have any questions, on this article, feel free to reach out to me through my email id : kiran.mvv@gmail.com or LinkedIn — https://www.linkedin.com/in/kiran-mushnuri-7b09a73b/

--

--

Kiran Mushnuri

AWS Solution Architect Professional and having experience in Pivotal Cloudfoundry.