Skip to content

n11-TalentHub-Java-Bootcamp/n11-talenthub-bootcamp-graduation-project-arikanogluulku

Repository files navigation

Loan Application n11 TalentHub Java Bootcamp

This project is the graduation project of n11 TalentHub Java bootcamp. It performs operations such as credit application and credit inquiry of users.It is a Restful spring boot project that returns the loan result to the customer according to the relevant criteria by receiving loan application requests.

loan_app

Content

  1. Description

  2. Technologies

  3. Usage

    3.1. User Endpoint

    3.2. Credit Endpoint

  4. Loan Application UI

  5. Installation

  6. Contact

1. Description

Loan application from the user to the system name , surname, date of birth, ID number, telephone number , monthly income, the cost of coverage (optional) by taking parameters such as the user's credit score, income, and collateral of credit according to the price calculated according to criteria related to the result(red check) and credit the result of the application is transmitted as a message to the user revolving credit limit.

2. Technologies

  • OpenJDK 11
  • Maven
  • Spring
  • Spring Data JPA
  • Postgresql
  • Validation
  • Mapstruct
  • Lombok
  • Junit , Mockito
  • Logging slf4j
  • Swagger
  • Twilio(SMS)
  • React

3. Usage

3.1 User Endpoint

It hosts basic operations such as registering new users, updating user information, deleting and listing.

Endpoint Method Params Description
getAllUsers GET null It lists all users.
getOneUsers GET userId Fetches the user according to the id information.
createUser POST UserRequestDto Registers a new user.
deleteUser DELETE userId Deletes user based on id.

3.2 Credit Endpoint

According to the information received from the user for applying for a loan, the credit score is first calculated(fake service).

The credit score was calculated by adding 100 to the last three digits of the user's identification number in the project.

There are different credit level alternatives according to the user's credit score and salary status. Different calculations are performed at each level. And if the user has collateral information, the credit result is calculated by adding it to the credit limit according to the credit level.

The credit result is sent to the user as a REJECTION, APPROVE and limit information.As a result of the loan, sms is sent to the user's phone number.

A user who has applied for a loan can request a loan by date of birth and ID number.As a result of this query, user information and credit result information are returned.

Endpoint Method Params Description
createUserAndCreditApplication POST UserRequestDto credit application process
inquiryCreditApplication GET dateOfBirthday, identificationNumber credit inquiry by identification number and date of birth

4.Loan Application UI

Credit Inquiry Page | Home Page

The page where the user queries the loan application by entering the date of birth and identification number.

home-inquiry

Sample Inquiry:

The result of the user whose credit result is approve: inquiry-a

The result of the user whose credit result is rejection: inquiry-r

If the user does not have a loan application: inquiry-no

Credit Application Page

credit-app

Sample Application

credit-app-result

SMS :

!! Since the trial version of the Twilio api provides a security warning for public repos, the sms discard function has been translated into the comment line.For this reason, the sms feature has been added with images as an example.

User Operations

This page lists users whose user information is updated or deleted.

users

User Save :

user-save

User Updated Model:

update-model

Form Valid:

The validations for the quality of the data received in the forms are limited in the same way as the backend.

valid

5.Installation


git clone https://github.com/n11-TalentHub-Java-Bootcamp/n11-talenthub-bootcamp-graduation-project-arikanogluulku.git

Import the project to your IDE

Configure application.properties files for PostgreSQL connection.

Send request to endpoints. (The project is running on the 8080 port by default.)


Swagger UI :

Link : http://localhost:8080/swagger-ui/index.html#/

6.Contact

[email protected]

Linkedin: https://www.linkedin.com/in/arikanogluulku/

About

n11-talenthub-bootcamp-graduation-project-arikanogluulku created by GitHub Classroom

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published