Server: React, TailwindCSS
Server: Java 11, Spring boot, Spring WEB, Lombok, MongoDB
Clone the project
git clone https://github.com/ahmeed83/RabobankAssignment
Go to the project directory
cd RabobankAssignment
Build the application
mvn clean install
Start the server
run the class >>>> src/main/java/nl/rabobank/RaboAssignmentApplication.java
Application will start on localhost:8080
Rest Method | EndPoint | Description |
---|---|---|
GET |
/rabobank/api/v1/customer-account-details/{customerId} |
Get all customer accounts |
POST |
/rabobank/api/v1/authorize-account |
Authorize given account |
1- Customers can call the server with their user ID (when they log in). They will get a list of their account details. These accounts consist of the account itself, and the authorization type that this account has.
2- The authorization type can consist of three types:
- OWNER: means this account belongs to the logged-in user.
- READ: means this account is not belong to the logged-in user, but he has the permission to see it.
- Write: means this account is not belong to the logged-in user, but he has the permission to change it.
3- Customers can authorize their accounts to other customers. They can permit READ/WRITE permissions of their accounts to others. However, customers can not permit OWNER permission to other customers.
4- If an account is already been assigned to a customer, this account can not be assigned again. However, the same account can be assigned to a different customers if the authorization type is different. For example, if a customer has authorization for an account with type READ, the account can be authorized again for a different authorization type (in this case WRITE).