/QuickCredit

Quick Credit is an online lending platform that provides short term soft loans to individuals. This helps solve problems of financial inclusion as a way to alleviate poverty and empower low income earners.

Primary LanguageJavaScriptMIT LicenseMIT

QuickCredit

Build Status

Build Status Coverage Status Test Coverage Maintainability License: MIT Code style: airbnb

Quick Credit is an online lending platform that provides short term soft loans to individuals. This helps solve problems of financial inclusion as a way to alleviate poverty and empower low income earners.

App Link

Quick Credit UI Templates

The app is currently hosted on Heroku. Visit QuickCredit now!

Required Features

  • Users can sign up
  • Users can login
  • User can apply for loan
  • User can view loan repayment history
  • Admin can mark user as verified
  • Admin can view all loan applications
  • Admin can view a specific loan application
  • Admin can view current loans (not fully repaid)
  • Admin can view all repaid loans
  • Admin can approve or reject a client's loan application
  • Admin can post loan repayment transaction in favour of client

Extra Features

  • Admin can delete users
  • Admin can view details of all users
  • Admin can view details of a specific user
  • User can reset password

Project Management

Project is managed here using the project management tool, Pivotal Tracker.

Templates

UI templates are hosted on Github pages here

Technologies Used

  • Node.js - A runtime environment based off of Chrome's V8 Engine for writing Javascript code on the server.
  • Express.js - Web framework based on Node.js.
  • PostgreSQL - An Object relational database.
  • Babel - Javascript transpiler.
  • Eslint - Javascript linter.
  • Airbnb style guide was followed.

Testing tools

  • Mocha - A Javascript test framework.
  • Chai - Assertion library.
  • nyc - Istanbul's command line interface.

Testing the application

Requirements

  • Postman - API development and testing environment.

Testing with Postman

  • Install Postman by following the link above.
  • Navigate to localhost:3000 in Postman to access the application.
  • Use the API Documentation to access the endpoints available.

Running unit tests.

  • In an open terminal, navigate to the cloned project file.
  • Run npm test. This runs tests and displays coverage data generated by Istanbul's nyc.

Working Routes

API Endpoints

Endpoint Functionality HTTP method
/api/v1/auth/signup Create a user account POST
/api/v1/auth/login Login a user POST
/api/v1/loans Create a loan application POST
/api/v1/loans Get all loan applications GET
/api/v1/loans/loan_id Get a specific loan application GET
/api/v1/loan_id/repayments View all loan repayment History GET
/api/v1/user_email/verify Mark user as Verified PATCH
/api/v1/loans?status=approved&repaid=false View all current loans(not fully repaid) GET
/api/v1/loans?status=approved&repaid=true View all current repaid loans GET
/api/v1/loan/loan_id Reject or approve loan PATCH
/api/v1/loan_id/repayment Create a repayment record POST
/api/v1/users/password Reset password POST
/api/v1/users/ Get all users GET
/api/v1/users/user_email Get a single user GET
/api/v1/users/user_email/delete Delete a user account DELETE

Authors

Nduamaka Francis ⚡️