Skip to content

ShisuiMadara/Loan-Lending-Platorm

Repository files navigation

Loan-Lending-Platorm

A web application based on node.js with mongoDB database deployed on Microsoft Azure cloud with an aim to provided customer to customer interaction for loan exchange. The application is hosted on Microsoft Azure, the Virtual Machine deployed on the cloud starts the frontend server at port: 3000. The backend is hosted on port: 5000. The website was once hosted on microsoft azure, but our subscription ended (sad noices).

The website is currently hosted at

https://loan-lending-platorm.vercel.app/

The Database and the flow chart for the website is represented as:


The characteristics of the platform are:

  • Elimination of middle men :
    The platform is a customer to customer based personal loan lending system. Each user can act as a borrower as well as a lender, thus providing a self helping community which contributes towards mutual growth.
  • Secure and efficient mangement of data :

    The data is easily available on the user profile. Borrower can reach a large audience at once and thus his/her chance of getting an optimal offer are increased.

    The user login is secured in the database with his password being stored as a hash value.

  • Secured Investment:

    The CRED score of the user which is generated according to their previous transactions gives insight in the credibility of the borrower. The EMI and penalty on the user is also handled by the application thus easing the whole process for both parties.


Components of the website

  • Login and SignUp
    Exisiting users can access the website using login, while new users must sign up. The sign up is a two step process. The user is prompted to upload his photo and salary slips within 24 hours of the registration time, if he fails to do so, the user is deleted. This ensure no bogus accounts are created.
  • Profile
    The profile displays the credentials of the user along with his transaction history. The transaction history includes all the loan offers and requests ever made by the user.
  • Requests
    This is available to each user. Loan request consists of the previous loan/borrowing requests. The option to Post a new loan request is also provided here.
  • Offers
    This contains all the offers or the bargains to the current/active loan request of the user. The user can now accept or reject the offers according to his/her choices.
  • Loans
    The loan section contains two informations:
    • Lended Loans
      This contains all the loans which are currently lended out by the user.
    • Borrowed Loans
      Set of data contains all the active loans of the user.

      The maintainence of data in this way provides maximum accessbility to the user, for he can access all his transactions in the same place.

    • Market

      The market is the place where all the users interact with each other. It contains all the loan requests by each user. On each loan request, the other users can "bargain" on the conditions asked by the borrower.

    • Notifications

      One place for the user to get all the updates. The notification includes information about :

      • If the loan offer generated by the user has been accepted or not. Providing the user with the rejection allows him to make another bid at the loan and thus maintains a healthy and active market.
      • One day before the EMI deadline, the user is reminded. This ensures that he never missed the EMI.
      • The confirmation after paying the EMI is also logged in the notifications.
      • In case penalty is imposed, the user is notified about the same- each day till he pays his EMI

       The user is also sent an email, along with the notification. 
      

    Operations

    • Bid

      Bid or bargain is the reaction offer by a potential lender to a loan request. The lender changes some parameters of the loan request and sends to the borrower. The borrower now consider all the "bids" against his loan and chooses which suits him the best. The borrower is free to reject all the loan offers.

      Any user can make multiple "bids" against a loan request. This provides a free and flexible conversation between the parties. A rejection of a "bid" notifies the bid maker of the rejection and thus he/she can change his bid accordingly.

    • EMI
      The borrower repays the debt in small amounts paid periodically. The EMI is calculated by the service. If the borrower fails to abide by the deadline, penalty is imposed which is proportional to the excess time taken.
    • Credibility (CRED) score

      The "trust factor" of any user can be derived from his/her CRED score. This score is based on the previous history of tracnsaction by the user. A user who has paid his/her loans and EMIs on time will have more CRED score than other users. This ensures the security of investment by the lender.

    Interaction and transaction are :

    • Loan requests :
    • Each user can "request" for a loan. In this, he has to specify:
      • Amount (INR) he want to borrow.
      • Interest rate (%) he is expecting.
      • Time (months) for which he wants the loan.
      After all this, other users can see his request in the market and then make a "bid" on the offer. The charateristics of a loan request are:
      • The user can have only one active loan request at a time.
      • There can be multiple bids against a loan request
      • If the user agrees with the offer against his request, he can accept it and the loan processing would start. The request is removed from the market after this.
      • Each request has a lifetime of 20 days. After this, the loan request is removed from the market.
      • All of the loan requests by a user are saved against his user id in his all time transactions and are visible on his profile
      • On the loan, if the user abides by the EMIs and the deadline, his CRED score is increased, else decreament happen.
    • Bidding
    • The bidding on any loan request can be done using the button provided on each card. This ensure ease of accessibility for the bidder.

    • Paying EMI
    • The user's EMI is pre generated. At the time of deadline, the user has to go to his active loans i.e. on the loan page and click on PayEMI button.

    Technologies used

    • Node.js
    • React.js
    • React Bootstrap
    • Microsoft Azure
    • Express.js
    • MongoDB

    Clone Repository

    git clone --recursive [email protected]:ShisuiMadara/Loan-Lending-Platorm.git

    OR

    git clone --recursive https://github.com/ShisuiMadara/Loan-Lending-Platorm.git

    Running server

    npm install
    cd frontend
    npm install
    cd ..
    ./run

    Site demo and pages

    User Profile



    Salary Slips



    Loan Offers



    Money Lended



    Request Creation



    Generated Request



    Money Borrowed