Back to Blog

Why I Built Tastiqo: An All-in-One Restaurant SaaS for My FYP

December 15, 2024 (1 year ago)

When the time came to choose my Final Year Project (FYP), I knew I wanted to build something that wasn't just a purely academic exercise. I wanted to build a real-world, production-ready SaaS product that solved a massive operational problem.

That is how Tastiqo was born.

Tastiqo is not just a simple web app; it is a highly scalable, multi-tenant ecosystem designed to digitize end-to-end restaurant management. Instead of relying on fragmented tools for POS, delivery, and inventory, Tastiqo brings everything under one unified roof.

Here is a deep dive into why I chose this ambitious project and the massive technical scope it encompasses.

The Motivation Behind Tastiqo

The restaurant industry is notoriously difficult to manage digitally. Small to medium-sized restaurants often struggle because they are forced to juggle multiple disjointed systems: one tablet for food delivery apps, a manual ledger for inventory, WhatsApp for driver coordination, and a legacy POS system for in-house dining.

I saw a massive opportunity to engineer a centralized platform where restaurant owners, customers, and delivery riders could all interact seamlessly in real-time.

The Ecosystem Architecture

Next.js

Go

Redis

PostgreSQL

Liquid (Shopify)

Building an all-in-one SaaS required breaking the project down into several distinct, highly connected applications. Here is what the Tastiqo ecosystem includes:

1. The Restaurant Owner Dashboard

This is the core command center for merchants. Built with modern web technologies, the dashboard provides enterprise-level tools usually reserved for massive platforms:

  • Shopify-Style Theme Engine: A complete design theme manager and site editor. Owners can customize their storefronts using Liquid templates, drag-and-drop sections, and instantly preview changes before publishing.
  • Custom Domains: Restaurants can seamlessly connect their own custom domains (e.g., order.myrestaurant.com) directly through the dashboard.
  • Multi-Branch Architecture: As restaurants scale, they can manage dozens of physical branches from the exact same account, perfectly segregating orders and inventory while keeping a unified brand.
  • Role-Based Access Control (RBAC): Pre-built permission roles allow owners to securely grant specific access to their staff. For example, an "Order Taker" can punch in POS orders, but cannot access financial analytics or change theme settings.
  • Manage their digital menus, categories, and dynamic modifiers in real-time.

2. The Customer Application

A dedicated tracking application for customers. Once an order is placed via the restaurant's storefront or in-house order taker, the customer can simply enter their unique order number into the Customer App. From there, they receive real-time WebSocket updates and can track their assigned rider's exact GPS location live on a map!

3. The Rider / Delivery Application

Managing logistics is the hardest part of food delivery. I built a dedicated rider application that tracks driver locations, dispatches orders based on proximity, and provides route optimization. Riders get real-time push notifications the moment a kitchen marks an order as "Ready for Pickup."

4. Advanced Order Taker & POS

For in-house operations, I built an Order Taker module. Waitstaff and cashiers can punch in orders instantly, which bypasses the customer cart and shoots directly to the kitchen display systems.

The Backend Heavyweights

To support these applications, the backend had to be incredibly robust.

Comprehensive Analytics

Data is king. The Tastiqo backend aggregates order data to provide real-time analytics to restaurant owners. They can see their best-selling items, peak hours, revenue charts, and rider efficiency metrics all generated dynamically from the database.

Inventory Tracking

We integrated a strict inventory tracking system that automatically deducts raw ingredients when a final product is sold. If a restaurant sells a burger, the system automatically subtracts 1 bun and 1 beef patty from the digital inventory. If inventory drops below a threshold, the owner gets an alert!

The Technical Challenge

Choosing a project of this scale for an FYP was highly ambitious. It required me to master:

  • Distributed Systems & Microservices: Ensuring the customer app, rider app, and owner dashboard could all communicate without race conditions.
  • Real-Time Data: Implementing WebSockets and Pub/Sub (via Redis) to track order statuses and rider GPS locations live.
  • Complex Caching: Developing multi-layered L1/L2 caches to keep the Liquid storefronts rendering in under 50ms, even under heavy load.
  • Database Architecture: Designing a multi-tenant PostgreSQL schema that securely isolated data between different restaurant chains.

Looking Forward

Tastiqo has been the ultimate crucible for my engineering skills. It forced me out of my comfort zone of building simple CRUD apps and threw me into the deep end of system design, performance optimization, and real-time networking.

I am incredibly proud of the ecosystem I've built, and I look forward to sharing more deep dives into the specific technical hurdles I overcame while building it!