Microservices project for classifying English alphanumeric characters. It uses Spring Boot + Spring Cloud as microservice infrastructure, Angular 6+ as UI, DL4J as Machine Learning library and Docker as the containerizer.
This microservice uses Spring Boot Admin module to provide selected Actuator endpoints info for all microservices.
This microservice uses Spring Cloud Eureka server for auto-discovery purposes for all microservices.
This microservice is the one intended as the general API of the project. It uses Spring MVC, among other techs.
This microservice is the most important, in a business manner, since this is the one with the ML algorithm that identifies the characters based on images.
This microservice is just to test microservice communication and self-discovery between API and UI.
This microservice is one of a few that will have a web-client app for testing alphanumeric recognition.
The first microservice that you need to run is the Eureka server (discovery).
After this, the order of the rest services doesn't affect in any manner.
For building an running you just need to run:
mvn clean install
mvn spring-boot:run
First, be sure that you have docker and docker-composer installed.
Then, create the images for each service with the following command in the root folder:
mvn clean install
Each service has the dockerfile-maven-plugin that has the configuration for each service image, this plugin will be ran with the previous command.
After running the previous command from the root folder, all images will be created, then just need to run (also from root folder):
docker-compose up -d
This will trigger that all images be containerized and launched in a docker container.
And that's it!
Now you can access the services from your localhost.
After you deployed all services (with any method), you can access to each one with the following ports: