loans

command module
v0.0.0-...-401f45e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 25, 2018 License: Apache-2.0 Imports: 3 Imported by: 0

README

Go Report Card

Loans

Example financial RESTful microservice for taking loans written entirely in Go (Golang). It was written using Test-Driven Development approach and follows the Domain-Driven Design guidelines.

Why?

To prove that Go is no worse than Java for writing business logic.

Features

  • apply for a loan
    • possibility to take one loan per client
    • first loan up to 1600
    • only 3 applications from one ip per day
  • repay the loan - either partially or in full
  • extend the loan of a given client

Run

go run main.go

Documentation

Overview

Starts restful application providing LMS (loans managemenet system) functionality

Directories

Path Synopsis
lms
Package lms (Loans Management System) is an entry API for all application logic.
Package lms (Loans Management System) is an entry API for all application logic.
cola/domain
Package domain provides core business logic which is independent of any other systems and repositories
Package domain provides core business logic which is independent of any other systems and repositories
cola/infra/repo
Package repo provides lms.ClientRepo implementation which stores everything in memory
Package repo provides lms.ClientRepo implementation which stores everything in memory
Package rest decorates standard http.Request and http.ResponseWriter with methods useful for writing REST applications
Package rest decorates standard http.Request and http.ResponseWriter with methods useful for writing REST applications
testing
http
Package http provides functions for writing HTTP server tests in a concise manner
Package http provides functions for writing HTTP server tests in a concise manner

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL