# WASL (وَصْل) Digital Wallet WASL is a bank-grade, secure P2P and merchant digital wallet platform tailored for Syria. ## Tech Stack - **Backend**: Laravel 11 + Laravel Octane (Swoole driver) - **Mobile**: Flutter 3.x (Clean Architecture + BLoC/Cubit) - **Database**: PostgreSQL 16 (with transaction audit ledgers) - **Cache / Queue**: Redis 7 - **Storage**: MinIO (S3-compatible secure private storage) - **Deployment**: Docker Compose ## Architectural Core Principles - **ACID Compliance**: Ensuring complete database integrity for all financial mutation queries. - **Double-Entry Ledger**: Every transaction produces exactly 2 balancing ledger entries (debit and credit). - **Strict Minor Units**: All monetary values stored and processed as `BIGINT` minor units (e.g. SYP is stored as minor units to avoid floating-point inaccuracies). - **Pessimistic Locking**: `SELECT ... FOR UPDATE` with deterministic resource locking order to prevent deadlocks. - **Data Encryption**: AES-256 field-level encryption for sensitive PII (Phone number, National ID). - **Audit Logging**: Immutable ledger tracking all authentication, registration, and transfer activities. ## Directory Structure - `Backend/`: The Laravel API and administrator control panel. - `Mobile App/`: The Flutter application codebase. - `wasl_concept.md`: Complete details of the 4 phase implementation prompts. - `deploy.sh`: Shell script to stage, commit, and push changes to the repository.