banking-app/
├── app/
│   ├── Controllers/
│   │   ├── AuthController.php
│   │   ├── DashboardController.php
│   │   ├── TransferController.php
│   │   ├── AccountController.php
│   │   ├── Admin/
│   │   │   ├── AdminController.php
│   │   │   ├── CustomerController.php
│   │   │   └── TransactionController.php
│   │   └── Api/
│   ├── Models/
│   │   ├── User.php
│   │   ├── Account.php
│   │   ├── Transaction.php
│   │   └── LedgerEntry.php
│   ├── Services/
│   │   ├── AuthService.php
│   │   ├── LedgerService.php
│   │   ├── TransactionService.php
│   │   ├── TransferService.php
│   │   ├── FeeService.php
│   │   ├── LimitService.php
│   │   ├── OtpService.php
│   │   ├── AuditService.php
│   │   └── AccountNumberService.php
│   ├── Repositories/
│   ├── Middleware/
│   │   ├── AuthMiddleware.php
│   │   ├── AdminMiddleware.php
│   │   ├── CsrfMiddleware.php
│   │   └── RateLimitMiddleware.php
│   ├── Integrations/
│   │   ├── Contracts/
│   │   │   ├── PaymentProviderInterface.php
│   │   │   ├── SmsProviderInterface.php
│   │   │   └── KycProviderInterface.php
│   │   └── Sandbox/
│   ├── Core/
│   │   ├── App.php
│   │   ├── Router.php
│   │   ├── Request.php
│   │   ├── Response.php
│   │   ├── Database.php
│   │   ├── Container.php
│   │   ├── View.php
│   │   └── Session.php
│   └── Helpers/
├── config/
│   ├── app.php
│   ├── database.php
│   └── banking.php
├── database/
│   ├── migrations/
│   └── seeders/
├── public/
│   ├── index.php
│   ├── .htaccess
│   └── assets/
│       ├── css/app.css
│       └── js/app.js
├── resources/views/
│   ├── layouts/
│   ├── auth/
│   ├── dashboard/
│   ├── transfers/
│   ├── admin/
│   └── landing/
├── routes/
│   ├── web.php
│   └── api.php
├── storage/
│   ├── logs/
│   └── documents/
├── tests/
├── .env.example
├── composer.json
└── README.md