This Laravel-based API provides basic functionality for a simple bank system, allowing users to deposit money, transfer funds, and receive notifications. It follows best practices and aims to be modular and extensible.
- Deposit money into user accounts.
- Notifications for deposit and transfer transactions.
- Modular and extensible architecture.
- Follows Laravel best practices.
- The Default currency is assumed to be Toman
- We don't consider any authorization policy in this project (as mentioned in document).
- Most components are tested with unit test.
Make sure you have the following installed on your system:
-
Clone the repository:
git clone https://github.com:Mdhesari/simple-bank-api.git
-
Install PHP dependencies:
composer install
-
Configure your environment variables:
cp .env.example .env
Please register an account in https://kavenegar.com/ and fill KAVENEGAR_API_KEY otherwise you can setup your own driver.
-
Application Key:
php artisan key:generate
-
Run Docker Compose:
docker compose up -d
-
Run migrations:
sail artisan migrate --seed
-
Run Queue:
sail artisan queue:work
OR you can config your own queue driver.