Andela Cycle 43 Developer Challenge
Banka is a light-weight core banking application that powers banking operations like account creation, customer deposit and withdrawals. This app is meant to support a single bank, where users can signup and create bank accounts online.
You need to have the following tools installed on your computer before you install and run this project:
- Git
- Node.js
To run:
git clone https://github.com/phembarl/Banka.git
cd Banka
npm install
npm start
The code above gets your server running
Create a .env
file with key SECRET
set to a string value like so:
SECRET=YOUR_SECRET
- User can sign up
- User can sign in
- User can create a bank account
- User can view account history
- User can view a specific account transaction
- User can view a account details
- Admin/Staff can activate or deactivate an account
- Admin/Staff can delete an account
- Staff (cashier) can credit an account
- Staff (cashier) can debit an account
- Admin/Staff can view all users
- Admin/staff can view a list of accounts owned by a specific user
- Admin/Staff can view all bank accounts
- Admin/Staff can view all active bank accounts
- Admin/Staff can view all dormant bank accounts
- Admin/Staff can view all transactions
POST /api/v1/auth/signup
Create user accountPOST /api/v1/auth/signin
Login a userPOST /api/v1/accounts
Create a bank accountGET /accounts/<account-number>/transactions
View account historyGET /transactions/<transaction-id>
View specific transactionGET /accounts/<account-number>
View a specific account's detailsGET /user/<user-email-address>/accounts
View all accounts owned by a specific clientGET /accounts
View a list of all bank accountsPATCH /api/v1/account/<account-number>
Activate or deactivate an accountDELETE /api/v1/accounts/<account-number>
Delete a specific bank accountPOST /api/v1/transactions/<account-number>/debit
Debit a bank accountPOST /transactions/<account-number>/credit
Credit a bank accountGET /api/v1/users
Display all usersGET /accounts?status=active
View a list of all active bank accountsGET /accounts?status=dormant
View a list of all active dormant accountsGET /api/v1/transactions
Display all transactions
Any contribution is welcome, please fork the repository and use a feature branch. Please follow the guide of the Pull Request Template provided.
- Repository: https://github.com/phembarl/Banka/
- Hosted UI: https://phembarl.github.io/Banka/UI/
- Hosted Heroku App: https://banka-andela-43.herokuapp.com/
- Pivotal Tracker: https://www.pivotaltracker.com/n/projects/2320913/
This ADC project belongs to Oluwafemi Balogun