This service will communicate with internal microservices
This service is responsible for the communication between UI and subscription-service.
- Microservice architecture
- BackEnd for the frontend design
- An aggregator service
-
- Validate request from user
-
- Forward request to subscription service
-
- Forward response to user from subscription service or different downstreams
The application can be run locally. Containerization is in progress
Make sure your maven is pointing to JAVA_HOME and JAVA_HOME is set to Java16 JDK
The subscription service host value in the application.yml file is set to http://localhost:9090
.
If your JAVA_HOME is set to Java16 JDK
$ mvn clean install
$ java -jar target/public-service-api-0.0.1-SNAPSHOT.jar
For multiple JDK issue
$ JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-16.0.2.jdk/Contents/Home
$ export JAVA_HOME
$ mvn clean install
$ java -jar target/public-service-api-0.0.1-SNAPSHOT.jar
Application will run by default on port 8080
Configure the port by changing server.port
in application.yml
After running the application you'll get the documentation in swagger-ui and open-api docs
- Reactive way of coding
- Containerization
- Integration with CICD i.e. jenkins / rancher
- Metrics Expose
- Integration with jaeger / slueth / opentelemetry for better traceability
- Integration with metrics collector i.e. prometheus
- Integration with ELK stack
- Integration with grafana for better visibility, observability and alerts
- 100% Unit test code coverage
- Integration test
- Automation testing or behavioral testing i.e. RobotFramework, Selenium