Giter Club home page Giter Club logo

asloan's Introduction

ASLoan

test

Installation

Install the repository from GitHub.

git clone [email protected]:crynobone/asloan.git
cd asloan

Run Composer installation.

composer install --prefer-dist
composer run post-root-package-install
composer run post-create-project-cmd

Run the default migrations

php artisan migrate

Run the application using Laravel Serve

php artisan serve

Which going to output similar to following, you can access to page using the generated URL:

> PHP 7.4.3 Development Server (http://127.0.0.1:8000) started

User Stories

Below are the user stories that I have covered in the application, also you can view the database diagram here.

Loan Applications

  • User can apply a loan.
  • User can apply a loan with a specific term expiry date.
  • User can apply for more than 1 loan.
  • User can't apply loan with zero or negative amount.
  • User can't apply loan with invalid loan duration (start date after end date).
  • Application should be able to calculate next loan due date.
  • Application should be able to calculate next loan due amount.
  • Application should ensure due amount is equals to total loan balances if loan term ends less than 1 week.
  • Application should ensure that customer shouldn't make first repayment in less than 4 days.

Loan Repayments

  • User can make repayment to a loan.
  • User can make full settlement to a loan. (handle by code but not UI)
  • User can make repayment to a loan on specific time.
  • User can't make repayment to a loan on different currency.
  • User can't make repayment to a loan higher than outstanding amount.
  • Application should disallow repayment if loan has no balance (loan completed).

Scenario: Loan has outstanding balance

  • Application should create repayment schedule and repayment amount.
  • Application should update due_amount and due_at after each repayment.
  • due_amount and due_at should reset after repayment occured.

Scenario: Loan has no outstanding balance (full settlement)

  • Application shouldn't create repayment schedule.
  • Application shouldn't update due_amount and due_at.
  • Application need to ensure Loan has completed_at.

asloan's People

Contributors

crynobone avatar

Stargazers

 avatar

Watchers

 avatar  avatar

asloan's Issues

Application can calculate Loan dues.

  • Application should be able to calculate next loan due date.
  • Application should be able to calculate next loan due amount.
  • Application should ensure due amount is equals to total loan balances if loan term ends less than 1 week.
  • Application should ensure that customer shouldn't make first repayment in less than 4 days.

User can make repayment

  • User can make repayment to a loan.
  • User can make full settlement to a loan.
  • User can make repayment to a loan on specific time.
  • User cant make repayment to a loan on different currency.
  • User cant make repayment to a loan higher than outstanding amount.
  • Application should disallow repayment if loan has no balance (loan completed)

User can apply for a loan.

  • User can apply a loan.
  • User can apply for more than 1 loan.
  • User can't apply loan with zero or negative amount.
  • User can't apply loan with invalid loan duration (start date after end date).

Data

  • Description (nullable string)
  • Amount
  • Currency
  • Term Duration (pick an expiry date)

Application need to handle repayment progress

Loan has outstanding balance

  • Application should create repayment schedule and repayment amount.
  • Application should update due_amount and due_at after each repayment.
  • due_amount and due_at should reset after repayment occured.

Loan has no outstanding balance (full settlement)

  • Application shouldn't create repayment schedule.
  • Application shouldn't update due_amount and due_at.
  • Application need to ensure Loan has completed_at.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.