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.
Description
No description provided
Readme 78 KiB
Languages
PHP 95.9%
Dockerfile 3.8%
Shell 0.3%