Skip to main content
EN ID
// CASE STUDY // RETAIL

Offline-Ready Point of Sale for a Building Supplies Store

A point-of-sale system with an Android tablet cashier app that keeps selling when the connection drops, a Go REST API, and a web admin dashboard.

Industry Retail
Engagement Client project
Tech Stack Flutter, SQLite, Go (Fiber), PostgreSQL, Next.js, Tailwind CSS

// Outcomes

  • Cashiers keep recording sales offline; transactions sync when the connection returns
  • Products sold in multiple units of measure, organized by category
  • Cashier shifts, printed receipts and sales reports in one system

The Challenge

A building supplies store needed a cashier system that does not stop selling when the internet connection is unreliable, handles products sold in different units, and lets the owner manage the catalogue and review sales from a browser.

Our Solution

  1. Flutter cashier app for Android tablets. Transactions are written to a local SQLite database first, and a sync engine sends them to the server when connectivity returns, so a dropped connection does not interrupt checkout. The app covers cashier shifts, the product catalogue, transactions, receipts (PDF / printing) and reports.
  2. Go REST API (Fiber) on PostgreSQL with modules for products, categories, units of measure, shifts, transactions and settings, secured with JWT and documented with Swagger.
  3. Web admin dashboard built with Next.js and Tailwind CSS for managing products and settings and reviewing transactions.

Architecture & Stack

  • Flutter (Android tablet) with SQLite for offline-first storage and background sync.
  • Go + Fiber REST API, PostgreSQL database, JWT authentication, Swagger API docs.
  • Next.js + TypeScript + Tailwind CSS admin dashboard.
  • Docker: Compose for the database, Dockerfiles for the API and the dashboard.

// System Screenshots

Offline-Ready Point of Sale for a Building Supplies Store — system overview

Have a similar project in mind?

Discuss your architecture and delivery timeline directly with our engineers.

Discuss your project →