Skip to content

Latest commit

 

History

History
53 lines (42 loc) · 2.87 KB

File metadata and controls

53 lines (42 loc) · 2.87 KB

System requirements

This project is a microservice which is called by other services and is calling other services. So we stub as interfaces to be implemented by other services.

Each service need the same requirements to be up and running normally.

These are following:

Project Dev. Env Prod Test Integration test
Messages JDK 17, Maven, Docker JRE 17 or Docker JDK 17 JDK 17, Docker
99Travl JDK 17, Maven, Docker JRE 17 or Docker JDK 17 JDK 17, Docker
Payments JDK 17, Maven, Docker JDK 17 or Docker JDK 17 JDK 17, Docker

As show upper, we use these services:

  • JDK 17. I personally use sdkman to manage all versions of Java installed.
  • Maven to manage dependencies when working with multiple Java Repositories. I personally also use sdkman to manage all versions of maven and update it.
  • Docker to create and run virtual machines rapidly. We use it to deploy easily our dependencies for the core app.

Not written there, but for the development, you'll need to have a code editor to simply tasks.

These apps can run on any CPU that Java accepts.

Now these services are used by the whole system to ensure the complete service:

Project Usage Prod Requirements
Messages For chatting, sending & receiving
message through all apps managed
in this system.
JRE 17 or Docker
99Travl For managing people's travels and parcels. JRE 17 or Docker
Payments For making payments, saving them
and sync with other apps.
JDK 17 or Docker
Keycloak This one alone manages all the
security, authentication and authorization.
Docker
RabbitMQ This messaging broker is used to
send messages to other services.
Docker
Redis This NoSQL database is used for
caching purpose. It makes request faster
and the whole system also fast.
Docker
DB The Database is used to persist
things in. They are attached to each
service.
Docker

The next step is Run the project.