Coder Social home page Coder Social logo

nazel7 / banking-transaction-system Goto Github PK

View Code? Open in Web Editor NEW
9.0 1.0 4.0 382 KB

Event-driven, Investment plan and Automations, Transfer, Payment, notification and Topup, RabbitMQ, Docker, postgreSQL, JWT, Async Rest-API, JOOQ, Spring Security, User Managment, Hibernate, JPA, Swagger Doc.

Dockerfile 0.09% Java 99.91%

banking-transaction-system's Introduction

How To Run

  1. Clone Project from Github
 git clone https://github.com/Nazel7/banking-transaction-system.git

  1. Setup Postgresql Database

  2. SetUp JWT secret

  3. All properties in the Environment variable below

Run as Docker image

You can also run as a docker image but will need to run posgresql as a standalone image and setup properties directly in application.yml file.

URL to APis collections:

https://www.getpostman.com/collections/93342828ceaaa2cdd8a1

SAMPLE ENV VARIABLE

RABBITMQ_EXCHANGE=sankore-notification-ex-out
RABBITMQ_ROUTE_KEY=sankore-notification-key-out
RABBITMQ_PASSWORD=guest
RABBITMQ_USERNAME=guest
RABBITMQ_QUEUE=sankore-notification-queue
POSTGRE_URL=jdbc:postgresql://localhost:5432/sankore_transaction_service
POSTGRE_USERNAME=postgres
POSTGRE_PASSWORD=mkb-password
PORT:80=8088
RABBITMQ_PORT:56=5672
JWT_SECRET=$2a$10$poqgI6yBmhiTAnacv/.tv.DzczAg.efmg.zlXIagMPhZ3M.OVDip2
FAIL_TRANSACTION_MESSAGE=Transaction fail, please try again. Thank you for banking with us
SUCCESS_TRANSACTION_MESSAGE=Transaction is successful
BANK_CODE=000012
INVESTMENT_SCHEDULER=* 0 */25 * * *
INVESTMENT_ACTIVATION_SCHEDULER=* 0 */24 * * *

RUN RABBITMQ IMAGE

$ docker run -d -p 15672:15672 -p 5672:5672 rabbitmq:3-management-alpine

BUILD IMAGE

Run on project directory in Order below
Supply the environment variable for direct access if running through command line
or setup env while the application can package with the env at runtime. if on intellij 
supply the environment in your environment variable and just click the run button after setting the profile.

NOTE: Each (application-[OPTION].yml ) file stands for different environment. Default is dev

1. ./mvnw spring-boot:run

2. $ ./mvnw clean install -DskipTests

3. $ docker build -t bank-service:latest .

banking-transaction-system's People

Contributors

nazel7 avatar

Stargazers

 avatar Anuar Abdikarimov avatar  avatar Carlos A Maldonado Virella avatar Jonathan Soares avatar Rahul Patil avatar Youssef Agagg avatar Saurabh Tiwari avatar Anil Kumar H V 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.