Scalable and secure restaurant POS system development for Grubtech
About the client
Grubtech is a UAE-based company that provides advanced software solutions to the Food & Beverage industry with the idea in mind to empower food businesses with the help of technology, creating memorable experiences for their customers.
Our Expertise
Mobile App Development
Software Development
Design
Scope
Discovery phase
MVP
Product development
Vertical
Hospitality
Key results
- Scalability
- Enhanced restaurant performance
- Secure data isolation
- Flexibility and customisation
See what Altamira can do for you
01
The Challenge
There are still numerous cafes and restaurants that get by with only cash, pen, and paper, having no clue about all the ways a modern POS system can help them run a restaurant faster, easier, and more successfully.
Table management and sales tracking are just the beginning. The restaurant POS software allows you to connect almost every workflow while freeing you up to focus on the customer experience.
That’s why Grubtech approached us to develop a customisable, scalable, and high-performing Point of Sale (POS) system from scratch. Our Client envisioned a solution that could handle multiple operational needs within restaurants, from order management to payment integration, all while working across various devices, both online and offline.
The project’s scope increased with the need for the system to:
- Support multiple order types: Dine-in, takeaway, delivery, and pick-up modes.
- Operate in offline mode: Waitstaff needed to use the system in offline mode with proper data synchronisation once reconnected to the internet.
- Data isolation: Data should remain secure, even if multiple restaurants use the system at the same time.
- Fault tolerance and scalability: The system needed to handle high traffic loads and ensure continuous operation without system-wide failures, even during peak usage.
The project also involved integration with payment system and printers, and the POS solution had to work with different devices, such as Android/iOS tablets and Sunmi POS terminals.
02
The Solution
Altamira’s development team approached the project with a focus on building a scalable and secure system that met Grubtech’s complex needs. The system was built using microservice architecture to ensure flexibility, resilience, and ease of future development. Key technologies included Node.js, Flutter, and MongoDB Realm for data synchronisation and offline mode support.
POS system architecture
The POS system was divided into several distinct components, each responsible for a specific aspect of the operation.
POS system architecture
Altamira team used Kubernetes multi-region clusters to ensure fault tolerance and high availability service, as well as MongoDB Replica set to provide high data availability. We also used Elastic for both the backend and frontend to manage and index large amounts of data.
Database
Altamira team used MongoDB Realm to handle offline-first data synchronisation, which allowed for the secure division of data by “realms” (groups), with each tenant having a unique key (ID) to isolate their data. This isolation ensured data remained secure, even if multiple restaurants used the system concurrently.
Data synchronisation
Our system supports offline mode by ensuring that orders, tables, and other operational data were stored locally on devices and synchronised with the central database when the connection is restored.
Microservices
The solution included several microservices, such as a middleware service responsible for communication between the mobile and our server application, handling email reports, SMS notifications, and logging staff actions for fraud prevention. Another one was responsible for additional verification of calculations, operations with data for generating reports, and delivery management. These services were designed to operate independently, ensuring that failures in one service would not impact the entire system.
Altamira team used a canary deployment method to introduce new features and updates, gradually releasing updates to a small group of users. This ensured that new features could be tested in real-world conditions before rolling them out to the entire user base, reducing the risk of widespread issues.
One of our key priorities was the system’s performance. It needed to function inch-perfectly during peak hours or when multiple locations were involved, all while supporting real-time data processing and rapid order management.
That’s why, during the development process, we created a separate environment with a backend, frontend, database, and static repository for load testing. This environment was configured similarly to the production environment, allowing our team to define the maximum number of users, identify potential weak points, and determine the number of requests the server could handle. Eventually, this testing ensured the system could handle peak traffic without performance degradation.
Design
The intuitive interface allows for detailed customisation of dishes and navigation through the categories, enabling staff to quickly find menu items and add them to an order, reducing order-taking time and increasing table turnover. Displaying prices for add-ons or different options allows for better transparency and upselling opportunities.
Core features of the GrabPOS system include the following
- Order management: Waitstaff can create orders for dine-in, takeaway, delivery, or pick-up. They can customise dishes, account for allergies, split bills, and add discounts or tips. The system also prints kitchen tickets and invoices.
- Staff management: Our system includes clock-in/clock-out functionality and register management for staff. Waitstaff can log in using credentials and track all actions for fraud prevention.
- Table management: Restaurants can customise their table layout, join or split tables, and update guest counts in real time.
- Offline mode: The system allows orders and updates to be processed offline, with data automatically synchronising when a connection is available.
- Payment integration: The POS is integrated with Neoleap payment terminals and supports various types of printers, including Sunmi inbuilt printers, thermal network printers, and USB printers (Epson, XPrinter). It also supports cash drawer integration.
- Multi-device compatibility: Our system works on Android/iOS tablets and Sunmi POS devices, making it adaptable for various restaurant setups.
Strive for excellence with Altamira
Join our community of successful customers, whom we helped to build and grow their businesses.
03
The Result
Altamira team has successfully delivered a GrubPOS system, providing a powerful, customisable, and scalable solution aimed to improve restaurant operations. As a result, we achieved all initially set goals:
- Scalability: With the microservice architecture and Kubernetes deployment, our system can scale on-demand, accommodating growing customer bases without compromising performance.
- Enhanced restaurant performance: The offline-first architecture allows restaurants to continue operations without internet connectivity. Orders and staff actions are synchronised once the internet connection is restored, ensuring smooth operations.
- Secure data isolation: Our team prevented the data from being shared across restaurants, even when multiple tenants used the system simultaneously. This provided an added layer of security and compliance with data protection regulations.
- Flexibility and customisation: The system’s customisable table configurations, menus, and payment integrations allow restaurants to tailor the POS to their specific needs, resulting in a more streamlined and efficient restaurant management process.
Overall, Grubtech’s POS solution, developed by Altamira, enabled restaurants to streamline operations, integrate easily with delivery services, and manage orders more effectively. As a result, our solution streamlines communication and coordination between the customers and in-house staff to guarantee quality service, improving overall efficiency in operations.