Smart Point of Sale

Industry Capstone Project

Sep 24 - Apr 25

View Full Project Here

Description

Smart POS is a mobile-first smart Point-of-Sale system designed to digitalise vehicle workshops across Southeast Asia by replacing manual processes with automation. It integrates modular inventory management, customer relationship management, and AI-driven marketing, enabling seamless stock control, procurement, and sales. Predictive analytics and real-time insights paired with an AI Assistant helps optimise operations, improve decision-making, and enhance customer engagement, ensuring operational efficiency regardless of digital proficiency.

Technologies

  • NestJS

  • MySQL

  • LLM and LangChain

  • AWS Kubernetes

  • AWS S3

  • AWS API Gateway

  • System Design

  • Microservices

  • Project Management

Project Overview

Smart POS
Figure 1: Smart Point of Sale

This was my final year capstone project at Singapore University of Technology and Design (SUTD). The project was done in collaboration with Oyika, a startup that focuses on electric vehicle charging solutions.

I was the lead developer for the project and was responsible for the overall system architecture, database design, and implementation of all backend services. I also helped liaise with the client to gather requirements and wrote the product specification document and system design document. Finally, I also led the implementation of AI features using LangChain and OpenAI’s LLMs for the project.

Problem Definition

Manual inventory management slows small businesses down. Inaccurate tracking causes stock issues, delays, and lost sales. Without real-time insights, problems are caught too late. Last-minute orders increase costs and disrupt operations. Pen-and-paper methods are no longer enough to stay competitive.

My team and I built a Smart Point of Sale (POS) system for vehicle workshops across Southeast Asia.

At its core is an Inventory Management System with simple inputs and automated workflows.

A built-in Analytics layer gives our client real-time visibility into operations and their workshops gain actionable insights, improving decisions and user experience.

This solution boosts efficiency and deepens customer engagement.

Features Built

Please visit our Capstone Showcase website for more information on all the features built.

System Design

Software Architecture

Entity Relation Diagram
Figure 2: Software Architecture

Following the industry partners requirements, I designed a microservices architecture for our system. I learnt a lot about software architecture and microservices and the primary reason for us using microservices the fact that its modularity will eventually allow our client to take parts of the system and deploy them independently if they so require. Microservices are also scalable and allow our team to work on different parts of the system independently.

I was also the one that deployed all of our services on the cloud such as on AWS Elastic Kubernetes Service (EKS) and AWS API Gateway.

Database Design

Relational Schema
Figure 3: Smart POS Database

I also designed and managed all of our databases. Above shows one of the database and schema that we used for our system. All of our databases were normalised to Boyce-Codd Normal Form (BCNF) to ensure that there was no redundancy in our data. All the tables are also constrained to ensure that the data integrity is maintained.

In addition to these tables, we also implemented several stored procedures and views to help with our data processing and analytics.

Implementations

Backend Implementations

Relational Schema
Figure 4: API references in Scalar

I implemented most of the backend services for our system using NestJS and TypeScript.

In total, I implemented more than 50 endpoints for our system. Below are some of the key features that I implemented:

AI Chatbot and AI Email Generation
Figure 5: Different features of the Smart POS

AI Chatbot

With AI being the latest trend, I took this opportunity to practice implementing RAG, one of the most talked about and implemented architectures in enterprise AI.

AI Chatbot and AI Email Generation
Figure 6: AI Chatbot and AI Email Generation

I used LangChain Tool Use and we wrote many custom functions that read from our database views to allow the AI to answer questions such as:

  1. Is my workshop doing better this quarter than last quarter?
  2. What are the top 5 items that are sold in my workshop?
  3. What services should I promote to Mr Brandon Tan when he comes in for repair next time?

Thereafter, we evaluated the performance of the AI chatbot based on Relevance to the Question, Accuracy of the Answer and Groundedness of the Answer. Similar to the RAGAS evaluation method.

We found that the chatbot performed relatively well. However, I also learnt from this exercise that tool use significantly limits the answering capabilities of the AI if your tools are not extensive enough. This is because, with tool use, you are likely returning curated data from your database instead of feeding it the entire database and this restricts its knowledge significantly. E.g If you only have a function that returns specific customer data but not all customer IDs, the AI will not be able to know out of all the customer, who visited the workshop the most.

Documentation!

Finally, I also wrote and set up our documentation site for the project in both Docusaurus and Confluence for handover to our client. This was a great practice for me in writing better documentation for such an extensive project.

Documentation Site
Figure 7: Public Documentation Site

Conclusion

This was the most extensive project that I have done thus far from start to finish and I am glad to have managed to improve greatly my understanding of writing a comprehensive backend system, software architecture, database design and implementation and project management.

GitHub LinkedIn Email