Skip to content

rajvimalc/adobe-roman-numerals

Repository files navigation

adobe-roman-numerals

Numerals to Roman Conversion Project for Adobe Assessment

Created August 2021

Java Versions Supported: Java SDK 11

Servers Supported: Netty Embedded Server

Frameworks: Spring Boot 2.5.+

Logging: Slf4J with Logback

Build Tool: Gradle Wrapper 7.1.1

Others: Project Lombok Annotation Processor, Intellij IDE for development

Testing: Spring Boot testing with JUnit

Containerization: Docker with Docker Compose

Log aggregation: Elasticsearch, Logstash, Kibana and Beats

Metrics and Monitoring: Prometheus and Grafana

Download Project

git clone https://github.com/rajvimalc/adobe-roman-numerals.git

cd adobe-roman-numerals

For Executable Jar:

Gradle Wrapper build command:

Creates adobe-roman-numerals-{version}.jar file at \build\libs which can be run as executable jar.

Windows: .\gradlew clean build

Linux/Mac: ./gradlew clean build

Run the executable jar as:

Windows: java -jar -Dspring.profiles.active=prod .\build\libs\adobe-roman-numerals-1.0.0.jar

Linux/Mac: java -jar -Dspring.profiles.active=prod ./build/libs/adobe-roman-numerals-1.0.0.jar

For Docker (Windows: Docker desktop app should be running):

To run just the application:

.\gradlew clean build

docker build -t adobe-roman-numerals .

docker run -p 8080:8080/tcp adobe-roman-numerals

To start the entire docker stack:

docker-compose up

To stop the entire docker stack:

docker-compose down

To access Kibana Dashboard:

http://localhost:5601

Discover => Create Index pattern => Step 1: logstash-* => Step 2: @timestamp => Discover

To access Prometheus and Grafana Dashboards:

http://localhost:9090

http://localhost:3000 (Credentials: admin / admin)

APIs:

Numeral to Roman (Integer range: 1 - 3999): http://localhost:8080/romannumeral?query={integer}

Example: http://localhost:8080/romannumeral?query=478

Health Check: http://localhost:8080/

Host Info: http://localhost:8080/romannumeral/api/v1/host-info

Actuator: http://localhost:8080/romannumeral/actuator

About

Roman Numerals Project for Adobe Assessment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published