Advanced React Native POS system with enterprise-grade offline-first architecture
- ⚡ Instant UI Response - All operations work instantly, even offline
- 🔄 Delta-Based Sync - Efficient idempotent ledger operations
- 🏠 Local-First - Truth stored locally, server hydrates in background
- 💰 Player Balance Management - Real-time debt/credit tracking
- 📦 Product Inventory - Stock management with conflict resolution
- 📋 Assignment System - Sales transactions with payment status
- 🔀 Smart Conflict Resolution - Automatic merging with timestamp + vector clocks
- 📱 Multi-Device Support - Seamless sync across devices
This app implements the same offline-first patterns used by Linear, Notion, and Figma:
- Single
applyOp()function for all writes - Local cache as source of truth
- Background server hydration
- Vector clock-based conflict resolution
- Enterprise outbox pattern with idempotent transactions
- Frontend: React Native + Expo
- Backend: Firebase Firestore
- Offline: AsyncStorage + HybridSyncService
- Payments: Stripe + SumUp integration
- Architecture: CQRS + Event Sourcing + Offline-First
-
Install dependencies
npm install
-
Start the app
npx expo start
In the output, you'll find options to open the app in a
- development build
- Android emulator
- iOS simulator
- Expo Go, a limited sandbox for trying out app development with Expo
You can start developing by editing the files inside the app directory. This project uses file-based routing.
When you're ready, run:
npm run reset-projectThis command will move the starter code to the app-example directory and create a blank app directory where you can start developing.
To learn more about developing your project with Expo, look at the following resources:
- Expo documentation: Learn fundamentals, or go into advanced topics with our guides.
- Learn Expo tutorial: Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web.
Join our community of developers creating universal apps.
- Expo on GitHub: View our open source platform and contribute.
- Discord community: Chat with Expo users and ask questions.