Tablet-first Arabic POS system for Samsung Tab S7 with multi-currency support
VC POS is a modern Point-of-Sale application built specifically for 11" tablets (Samsung Tab S7) with:
- Arabic-first UI with full RTL (Right-to-Left) support
- Multi-currency support (YER / USD / SAR) with manual exchange rates
- Offline-first operation with Room database
- Tablet-optimized interface with Material3 design
- Clean architecture using MVVM + Repository pattern
- Modern Android stack (Jetpack Compose, Hilt, DataStore)
- Product catalog with categories
- Shopping cart with quantity management
- Multi-currency display (YER base, USD, SAR)
- Manual exchange rate configuration
- Transaction history
- Cash/Card/Transfer payment methods
- Tablet-optimized 11" layout
- Arabic RTL interface
- Barcode scanning
- Receipt printing (ESC/POS + PDF)
- Inventory management
- User roles & permissions
- Discount & tax rules
- Reports dashboard
- Backup/Restore
- Online sync (Supabase)
| Component | Technology |
|---|---|
| Language | Kotlin (JDK 17) |
| UI | Jetpack Compose + Material3 |
| Architecture | MVVM + Repository |
| DI | Hilt |
| Database | Room (SQLite) |
| Settings | DataStore (Proto) |
| Navigation | Navigation Compose |
| Min/Target SDK | 26 / 35 |
- Android Studio Ladybug or later
- JDK 17
- Android SDK with API 35
git clone https://github.com/aseelsh24/vc_pos.git
cd vc_pos
./gradlew assembleDebug./gradlew installDebug./gradlew testDebugUnitTest- Open the app and navigate to Settings (gear icon)
- Select a currency (YER / USD / SAR)
- Tap Edit Rate to modify the exchange rate
- Enter the rate:
1 [CURRENCY] = X YER - Tap Save
Example rates (as of project creation):
- 1 USD = 250 YER
- 1 SAR = 66.67 YER
- 1 YER = 1 YER (base)
All prices are stored in YER and converted for display based on the selected currency.
The app automatically seeds the database on first run with:
- 10 product categories
- 40 sample products with prices and stock
- Go to Actions
- Click on the latest successful workflow run
- Download vc_pos-debug-apk artifact
- Extract and install the APK
- Go to Releases
- Download the latest
.apkfile - Install on your tablet
Note: For alpha releases, APKs are unsigned. Enable "Install from Unknown Sources" in Android settings.
vc_pos/
├── app/
│ └── src/main/
│ ├── java/com/aseel/pos/
│ │ ├── core/ # Currency, enums, utils
│ │ ├── data/ # Entities, DAOs, repositories
│ │ ├── di/ # Hilt modules
│ │ ├── ui/ # Screens, ViewModels, theme
│ │ └── nav/ # Navigation graph
│ └── res/
│ ├── values/ # Strings (Arabic default)
│ ├── values-ar/ # Arabic strings
│ └── values-en/ # English strings
├── .github/workflows/
│ └── android-ci.yml
└── README.md
This is an alpha release. Contributions welcome! See the roadmap issues for planned features.
- Create a feature branch from
main - Make changes following existing code style
- Write tests for new features
- Run
./gradlew spotlessApplybefore committing - Open a PR to
main
See GitHub Issues for the complete roadmap with AI development prompts.
[Add license information]
For issues or questions, please open an issue.
Version: 0.1.0-alpha
Last Updated: 2025-10-30
Maintainer: @aseelsh24