Rozo App is a modern mobile application that combines a Point-of-Sale system with embedded wallets. It’s designed to make it easy for merchants and users to handle payments, deposits, and withdrawals — all in one place.
🔐 Embedded Wallets – Powered by the Privy SDK, so every user has a secure digital wallet built in.
🛒 POS System – Simple and fast checkout experience for merchants and customers.
💰 Deposit & Withdraw – Seamlessly move funds in and out of the app.
🌍 Multi-Platform – Works on iOS, Android, and Web.
🔑 Secure Login – Protect your account with modern authentication.
🌐 Multi-language Support – Accessible to users in different regions.
| Sign In | Balance | Orders | POS |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
- React Native dev environment
- Node.js LTS release
- Git
- Watchman, required only for macOS or Linux users
- Bun
- Expo CLI
Clone the repo to your machine and install dependencies:
git clone https://github.com/RozoAI/rozo-app-mobile
cd ./rozo-app-mobile
bun installStart the development server:
bun start # Start Expo dev server
bun start:dev # Start with dev client
bun start:clear # Start with cleared cacheRun on specific platforms:
bun ios # Run on iOS simulator/device
bun android # Run on Android emulator/device
bun web # Run on web browserThe app supports three build environments: Development, Preview (Internal Testing), and Production.
bun build:dev:android # Build for Android
bun build:dev:ios # Build for iOS
bun build:dev:all # Build for both platformsbun build:preview:android # Build APK for Android testing
bun build:preview:ios # Build for iOS TestFlight (internal)
bun build:preview:all # Build for both platformsbun build:prod:android # Build for Google Play Store
bun build:prod:ios # Build for Apple App Store
bun build:prod:all # Build for both platformsbun submit:android # Submit to Google Play Store
bun submit:ios # Submit to Apple App Store
bun submit:all # Submit to both storesbun update:preview "Your update message" # Send preview updates
bun update:prod "Your update message" # Send production updatesThe app version is automatically managed from package.json. Update the version using npm:
npm version patch # 1.0.5 → 1.0.6 (bug fixes)
npm version minor # 1.0.5 → 1.1.0 (new features)
npm version major # 1.0.5 → 2.0.0 (breaking changes)This automatically updates:
expo.versionandroid.versionCode(calculated asMAJOR * 10000 + MINOR * 100 + PATCH)ios.buildNumber(same as versionCode)
# 1. Update version
npm version patch
# 2. Build for production
bun build:prod:all
# 3. Wait for build completion, then submit
bun submit:all
# 4. (Optional) Send OTA update for minor fixes
bun update:prod "Fixed critical bug"📚 For detailed build documentation, see BUILD.md
- Framework: Expo
- UI: React Native with Gluestack
- Navigation: Expo Router
- Data Fetching: React Query with React Query Kit
- Form Handling: React Hook Form
- Validation: Zod
- Storage: React Native MMKV
- Styling: Tailwind CSS via Gluestack
rozo-app-mobile/
├── app/ # Expo Router file-based routing
│ ├── (main)/ # Main app screens (protected routes)
│ │ ├── balance.tsx # Balance screen
│ │ ├── orders.tsx # Orders screen
│ │ ├── pos.tsx # Point of Sale screen
│ │ ├── settings.tsx # Settings screen
│ │ └── transactions.tsx # Transactions screen
│ ├── login.tsx # Login screen
│ └── _layout.tsx # Root layout
├── components/ # Shared components
│ ├── screens/ # Screen-specific components
│ ├── svg/ # SVG components
│ └── ui/ # Core UI components (buttons, inputs, etc.)
├── features/ # Feature modules
│ ├── balance/ # Balance feature
│ ├── orders/ # Orders feature
│ ├── payment/ # Payment feature
│ ├── settings/ # Settings feature
│ └── transactions/ # Transactions feature
├── hooks/ # Custom React hooks
├── libs/ # Shared utilities and constants
├── modules/ # Core modules
│ ├── axios/ # API client setup
│ ├── i18n/ # Internationalization
│ └── pusher/ # Real-time updates
├── providers/ # React Context providers
│ ├── app.provider.tsx # App-wide provider
│ ├── auth.provider.tsx # Authentication provider
│ ├── merchant.provider.tsx # Merchant data provider
│ ├── query.provider.tsx # React Query provider
│ └── wallet.provider.tsx # Wallet provider
├── resources/ # External resources
│ ├── api/ # API endpoints and queries
│ └── schema/ # Zod validation schemas
└── translations/ # Translation files (en, es, fr, etc.)We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes: Follow the code style and conventions
- Test thoroughly: Test on both iOS and Android
- Commit your changes:
git commit -m 'Add amazing feature' - Push to your branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow the existing code style
- Use TypeScript for type safety
- Write meaningful commit messages
- Add comments for complex logic
- Keep components small and focused
For detailed documentation on specific features:
- Route Protection System - Flexible route protection with multiple layers
- Build & Deployment - Comprehensive build and deployment guide
For support and questions:
- Open an issue
- Check the docs folder for feature-specific documentation
- See BUILD.md for detailed build instructions
This project is licensed under the terms specified in the repository.
Made with ❤️ by the Rozo team




