Giter VIP home page Giter VIP logo

digital-middleware-application's Introduction

Middleware Application

A simple Middleware Application with Java and Spring Boot.

High Level Design

HLD

Installation

It's a Spring Boot and Java application with a very little functionality. Here are the commands you need to run one by one-

git clone https://github.com/CodeMechanix/Digital-Backend.git
cd Digital-Backend
mvn clean
mvn spring-boot:run

Then you need to put your database credentials in the application-dev.yml file. I used PostgreSQL in this project.

Then you can visit the base url in this url- http://localhost:7007/.

Docker Image Build

# Build the Docker image using the following command:

docker build -t middleware .

# Once the image is built, run a container using the following command:

docker run -p 7007:7007 middleware

This will start a container and map port 7007 on the host to port 7007 in the container, making the Spring Boot application accessible on http://localhost:7007.

Uses

This application can be used both in logged in or logged out state. But for using the full potential, you should logged in.

This project has the following features-

  • PreAuthorize: @PreAuthorize is an annotation in Spring Security that allows you to specify authorization rules for your application's endpoints. It can be used to define access control for methods in a Spring-based application.
  • Swagger: Swagger is a popular open-source framework for building and documenting RESTful APIs. In a Spring Boot application, you can use the Swagger library to generate documentation for your API, which can be easily accessible and understandable by both developers and end-users.
  • API Security: API Security purpose I used Authentication based API Data communication.
  • Logging: Logging purpose, I use Database layer Request log and besides this file based log management system.
  • Unit Testing: API coverage Unit Testing.
  • Loosely couple design the Middleware Application.

Database

  1. MW_USER : Manage all Authenticate User Information.

USER_TABLE

  1. MW_HISTORY : Logging All User Request details with Time. Beside this manage file base log.

HISTORY_TABLE

  1. MW_COURIER : Courier-Rate Details Information. Load data through Scheduler and have manual process for sync realtime data. Courier Service easily active/Inactive as per demand.

COURIER_TABLE

Swagger UI

Swagger UI

Postman UI

Postman UI

Developer

Hasan Mahmud Rhidoy
[email protected]
https://sites.google.com/view/codemechanixhasan/home

digital-middleware-application's People

Contributors

rhidoyhasanmahmud avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

digital-middleware-application's Issues

Using PostgreSQL DB?

# Data source 
spring.datasource.databaseName=MIDDLEWAREDB
spring.datasource.serverName=localhost
spring.datasource.url=jdbc:oracle:thin:@localhost:1525/MIDDLEWAREDB
spring.datasource.driverClassName=oracle.jdbc.OracleDriver
spring.datasource.username=middleware
spring.datasource.password=middleware123
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update

Is this configuration for PostgreSQL DB?

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.