Skip to content

A microservice in go that managers customers, accounts, transactions (withdraw and deposit for now).

Notifications You must be signed in to change notification settings

pratik-codes/Banking-Go-Microservice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Banking-Go-Microservice

  • A beginner microservice in go that managers customers, accounts, transactions (withdraw and deposit for now). The auth folder also has an implementation of the authentication and authorization of the apis.
  • This is a learning project for go to understand the basics and understand how it is making microservices in Go.

Run the application

Run ./start.sh to download the dependencies and run the the application

To run the application, you have to define the environment variables, default values of the variables are defined inside start.sh

  • SERVER_ADDRESS [IP Address of the machine]
  • SERVER_PORT [Port of the machine]
  • DB_USER [Database username]
  • DB_PASSWD [Database password]
  • DB_ADDR [IP address of the database]
  • DB_PORT [Port of the database]
  • DB_NAME [Name of the database]

mysql database

You can use any one of the following procedure to make a database instance, and make the changes to your start.sh file accordingly

  1. docker-compose.yml file. This contains the init script to generate and tables and insert the default data. You just need to bring the container up

    To start the docker container, run the docker-compose up inside the resources/docker folder

  2. resources/database.sql this contains the SQL for generating the tables. In case you dont want to use the docker-compose file you can use this file to generate tables and insert the default data

mocks generator

./generate-mocks.sh

run unit tests

./run-tests.sh

About

A microservice in go that managers customers, accounts, transactions (withdraw and deposit for now).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published