Back to all projectsE-Commerce · Mobile · Full-Stack

A complete café ecosystem — app, website, admin portal, and microservices backend

End-to-end platform for café discovery and ordering — React Native customer app with geolocation-based café search, bulk menu import, OTP authentication (MSG91), pricing/discount engine, delivery modes, plus a React admin portal and Spring Boot microservices backend deployed on Railway.

A complete café ecosystem — app, website, admin portal, and microservices backend

The Challenge

Independent cafés and coffee shops face a digital dilemma. Large chains have apps, websites, and sophisticated ordering systems. But for a single-location café or small chain, building custom technology is prohibitively expensive. They're left relying on aggregator platforms that charge 20-30% commissions and own the customer relationship.

The café owners we spoke with wanted three things: a way for customers to discover them (beyond just being listed on Google Maps), a simple ordering system that didn't require expensive POS integrations, and an admin tool they could actually use without technical training. They didn't want to manage three separate systems.

We saw an opportunity to build a complete café ecosystem — mobile app for customers, web presence for discovery, and admin portal for owners — all powered by a shared backend. One codebase, three surfaces, no commissions.

Our Approach

We architected the platform around a Spring Boot microservices backend that serves all three frontend surfaces. The mobile app (React Native) and web app share the same API contracts. The admin portal has additional endpoints for management functions. This shared backend approach means features built once are available everywhere.

Geospatial search was critical — customers need to find cafés near them. We used MongoDB's geospatial indexing to enable fast location-based queries. The app shows nearby cafés, sorted by distance, with real-time availability status.

Authentication had to be frictionless. Indian users expect OTP-based login, not email/password. We integrated MSG91 for SMS OTP delivery, with fallback mechanisms for delivery failures. Café owners authenticate via the same system but have elevated permissions in the admin portal.

What We Built

Customer Mobile App

React Native app for iOS and Android. Geolocation-based café discovery. Menu browsing with photos and descriptions. Cart management with multiple delivery modes (dine-in, takeaway, delivery). Order tracking from placement to completion.

Café Discovery

MongoDB geospatial queries power location-based search. Filter by cuisine type, price range, and amenities. Real-time status showing whether the café is open and accepting orders. Distance and estimated travel time.

Menu Management

Admin portal for café owners to manage their menu. Bulk import from spreadsheets for quick setup. Category organization, item variants (sizes, add-ons), and dynamic pricing. Photo upload with automatic optimization.

Order Management

Real-time order dashboard for café staff. Order status workflow (received → preparing → ready → completed). Push notifications to customers at each stage. Daily order history and basic analytics.

Pricing & Discounts

Flexible pricing engine supporting happy hours, combo deals, and promotional discounts. Coupon code system. Dynamic pricing based on delivery mode. All managed through the admin portal.

The Outcome

Coffee Vault was delivered as a complete 3-surface platform — mobile app, web presence, and admin portal — powered by a unified microservices backend. The platform is deployed on Railway with MSG91 integration for OTP authentication. It demonstrates our ability to deliver full-stack consumer products.

3
Platforms Delivered
Mobile app, web, and admin portal
Microservices
Architecture
Spring Boot backend on Railway
Geospatial
Search
MongoDB-powered location discovery
OTP
Authentication
MSG91 SMS integration

Tech Stack

React NativeSpring BootMongoDBReact Admin PortalRailwayMSG91 OTPGeospatial Queries

Have a similar challenge?

Let's discuss how we can build a solution for your use case.

Get in touch