/jarvisESB

An enterprise level ESB with multi-tenancy built in.

Primary LanguageGoGNU General Public License v3.0GPL-3.0

jarvisESB

An Open Source Enterprise Service Bus {ESB} with multi-tenancy built in.

Heroku App

GitHub

Table of Contents

  1. Project overview
  2. UX
  1. Features

  2. Technologies Used

  3. Databases Used

  4. Testing

  5. Deployment

  6. Credits


Project overview

An Enterprise Service Bus "ESB" using the Domain-Driven Design Principles. This application was built using Golang and uses the following rules

  1. Domain:
    This is where the domain and business logic of the application is defined.
  2. Infrastructure:
    This layer consists of everything that exists independently of our application: external libraries, database engines, routes and so on.
  3. Application:
    This layer serves as a passage between the domain and the interface layer. The sends the requests from the interface layer to the domain layer, which processes it and returns a response.
  4. Interface:
    This layer holds everything that interacts with other systems, such as web services, RMI interfaces or web applications, and batch processing frontends.

Caveats

Middleware's should be arranged as needed e.g ["auth", "cors"] PostgresSQL is the database of choice. To switch it out kinda update your .env

To run your test use the command below clear && environment=test go test ./... -coverprofile cover.out && go tool cover -func cover.out && go tool cover -html cover.out