Giter Site home page Giter Site logo

bank-app's Introduction

Bank Project [Backend]

There is a prototype of the BackEnd Bank's Core Services data.

Data consist of clients, accounts, products, accounts, transactions and managers pom.xml

Technologies:

  • JDK - v.17.07.7
  • Lombok - v.1.18.26
  • Hibernate - v.6.1.7
  • Spring Boot v.3.0.4
  • Spring Security v.3.2.5
  • MySQL v.8.0.32
  • Liquibase v.4.23.0
  • Mockito
  • JUnit
  • MapStruct 1.4.2


Database structure

Table Client ( Bank's Clients table )

Column name Type Description
id binary(16) id key of row - unique, not null, primary key
status integer(1) client's status
tax_code varchar(20) client's TAX code, unique
first_name varchar(50) client's name
last_name varchar(50) client's surname
date_of_birth varchar(50) client's surname
email varchar(60) client's e-mail , unique
address varchar(80) client's address
phone varchar(16) client's phone
created_at timestamp timestamp of row creation
updated_at timestamp timestamp of last update

Table Account (Bank's accounts table)

Column name Type Description
id binary(16) id key of row - unique, not null, primary key
client_id binary(16) client id
manager_id bigint manager id
account_number varchar(20) a name of account, unique
type integer(1) account type
is_active boolean status of tne account
balance decimal(15,2) balance of the account in currency
currency_code varchar(3) account currency code
created_at timestamp timestamp of row creation
updated_at timestamp timestamp of last update

Table Product ( Sets of Bank's available Products)

Column name Type Description
id bigint id key of row - unique, not null, primary key
product_typ varchar(70) product's name, unique
is_active boolean product's status
currency_code integer(2) currency of product
interest_rate decimal(6,4) interest rate of product
limit integer limit of credit a product ( 0 - no limit, 0 < - limit which can be used)
created_at timestamp timestamp of row creation
updated_at timestamp timestamp of last update

Table Agreement (Bank's - Account's Agreement table)

Column name Type Description
id bigint id key of row - unique, not null, primary key
account_id binary(16) account's id(table account)
product_id bigint product id (table product)
interest_rate decimal(6,4) current interest rate of agreement
is_active boolean agreement's status
sum decimal(15,2) amount of agreement
created_at timestamp timestamp of row creation
updated_at timestamp timestamp of last update

Table Transaction (Bank's - Account's Transaction table)

Column name Type Description
id binary(16) id key of row - unique, not null, primary key
debit_account_id binary(16) transaction's debit account
credit_account_id binary(16) transaction's credit account
type integer(1) transaction type
amount decimal(12,2) transaction amount in the account currency
description varchar(255) description of transaction
created_at timestamp timestamp of row creation
created_at timestamp timestamp of row update

Table Manager (Bank's managers )

Column name Type Description
id bigint id key of row - unique, not null, primary key
first_name varchar(50) manager's name
last_name varchar(50) manager's surname
email varchar(60) manager's email
is_active boolean manager's status
created_at timestamp timestamp of row creation
update_at timestamp timestamp of row update

bank-app's People

Contributors

elinarite avatar

Watchers

 avatar

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.