Code Monkey home page Code Monkey logo

countrybank's Introduction

Build Status codecov.io CodeFactor

Country Bank

Simple bank application with Spring Boot and Spring Data

Country bank is standalone server by spring boot with flexible interface.

Imagine yourself town that exists on the Wild West and has population about 1000 people. Country Bank is located in the town. Simple application was developed for bank which offers e-services (Are you sure there is on the Wild West?)

Clients might:

  • Subscribe. Anonymous user might subscribe by email. Authenticated user just needs click a button for subscribe/ unsubscribe (email will taken from account)
  • Create account. After sign up in system, registration token will have sent for confirmatioin of registration
  • Send message to the bank. Messages are saving in database. Authenticated user just needs wrote a message text (email and name will taken from account)
  • Reset password if user forget it. Reset password token will have sent on email

All tokens valid 24 hours.

anon2

After authentication you can use other features, as

  • Transfer money to bill
  • Make payments for fines, debts, or public services (For simplicity this all was combines in one action โ€“ make payment. Then let the government chooses for which payment has been ๏Š )
  • Take credits or put their money in deposit
  • Check bills or open new bill.
  • Check transactions by bill
  • Choose active bill

For simplicity also all bills have UUID structure in spite of XXXX-XXXX-XXXX-XXXX. Application is used to active bill for payments.

auth3

Application structure is using MVC pattern:

layers Controllers are receiving all requests, after checking by validators. If request are valid then services process this interaction with database.

How To Install?

By gradle

  • You must have jdk 8 and gradle
  • Download sources from github
  • You need export environment variables for mail provider: CONFIG_MAIL_HOST, CONFIG_MAIL_PORT, CONFIG_MAIL_SMTP_AUTH, CONFIG_MAIL_STARTTLS, CONFIG_MAIL_USERNAME, CONFIG_MAIL_PASSWORD or override these variable in Application.yml in classpath.
  • Run gradle bootRun, then server starts on port 8000

By docker

  • Install docker and docker-compose
  • You need export environment variables for mail provider: CONFIG_MAIL_HOST, CONFIG_MAIL_PORT, CONFIG_MAIL_SMTP_AUTH, CONFIG_MAIL_STARTTLS, CONFIG_MAIL_USERNAME, CONFIG_MAIL_PASSWORD.
  • In your terminal run docker-compose up, then server starts on port 8000

countrybank's People

Contributors

nikitap492 avatar jaiswaladi246 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.