Giter Club home page Giter Club logo

bank-app-backend's Introduction

simplebank

Golang, Gin, GoMock, Postgres, Docker, K8s, gRPC, gRPC-Gateway, Redis

Simple bank service

The service that we’re going to build is a simple bank. It will provide APIs for the frontend to do the following things:

  • Create and manage bank accounts, which are composed of the owner’s name, balance, and currency.
  • Record all balance changes to each of the accounts. So every time some money is added to or subtracted from the account, an account entry record will be created.
  • Perform a money transfer between 2 accounts. This should happen within a transaction, so that either both accounts’ balances are updated successfully or none of them are.

Database

https://dbdiagram.io/d/64d78c4802bd1c4a5eabec0b

Clone

It should use a Unix-style line endings instead of Windows. This problem occurs some errors when running sh file in docker. You should run the following command before cloning the repository:

git config --global core.autocrlf false Then clone the repository and proceed.

To run this simple bank project

There are 3 ways written in Makefile to run the project

  • Run SimpleBank using POSTGRES CONTAINER && REDIS CONTAINER && make server to start server
  • Run SimpleBank using DOCKER NETWORK to connect 3 STAND-ALONE CONTAINERS (postgres container + redis container + app container)
  • Run SimpleBank using DOCKER COMPOSE UP

bank-app-backend's People

Contributors

thanhquy1105 avatar

Stargazers

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