This project was made for a test which tries to accomplish the following requirements:
- Clients authentication -> lb_authentication_svc
- Client´s owned products -> lb_account_svc
- Client´s transactions of owned products -> lb_account_svc
- Client transfers for its own account
- Client´s cc payment
- Client´s Loan Payment
- Beneficiary affiliation -> lb_account_svc
- Beneficiary email update -> lb_account_svc
- Beneficiary deletion -> lb_account_svc
- Beneficiary transfer
- Beneficiary cc payment
- Beneficiary loan payment
LifeBank is intended to be a Web-App made of the following main elements:
- SPA WebApp.
- Secured API: This can work for Web and Mobile clients.
- Information storaged in database: The Database Schema and scripts are provided.
Gopher Guard uses a number of technologies to work properly:
- Gin Gonic - The fastest full-featured web framework for Go. Crystal clear!
- GORM - The fantastic ORM library for Golang
- Viper - GO configuration with fangs!
Before running the services is necessary to execute the following Postgre SQL scripts:
- lb_db.sql : Contains all the DDL and Schema definition
- lb_db_data.sql : Contains the inicialization data (for endpoints testing and some configurations)
The Back-End microservices are located inside of:
/Backend/lb_name_of_the_microservice_svc
Before running them is necessary to compile them. Due to the files configuration, you have to move this projects to your GO-PATH. Normally (after installing Go in your computer) your GO-PATH should be:
C:\Users\username\go\src
The microservices are:
- lb_authorization_svc: PORT:90; Contains the Authorization / Gateway support for the service, this service encapsulates other microservices providing a security layer based on JWT.
- lb_authentication_svc: PORT: 91; Microservice for login. It provides the JWT for services consumption.
- lb_account_svc: PORT 92; Contains all the information related with account services contracted for a client, transactions, beneficiaries management.
- lb_payment_svc: Payment handling (NOT DONE)
- lb_transfer_svc: Transfers handling (NOT DONE)
Here is a list of the remainng elements to develop
- lb_payment_svc:
- lb_transfer_svc:
Testing software belongs to LifeMiles