// 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
- 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.
- 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.
- 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
Have a similar project in mind?
Discuss your architecture and delivery timeline directly with our engineers.
Discuss your project →