61 lines
2.3 KiB
Markdown
61 lines
2.3 KiB
Markdown
# Microservices Java Spring-boot app + Docker + Kubernetes
|
||
|
||
This project consists of an e-commerce application built with microservices using Spring Boot in Java 21 and Maven 4.0.0. The application is divided into three microservices: Shopfront (frontend), Product Catalogue (product catalog), and Stock Manager (inventory management). Additionally, a directory with YAML files for service deployment is included.
|
||
|
||
## Project Structure
|
||
|
||
* Simple examples of functional end-to-end tests that use JUnit and REST-assured to test the DJShopping application
|
||
* shopfront
|
||
* The 'shopfront' microservice of the DJShopping example application that provides the primary entry point for the end-user (both Web UI and API-driven)
|
||
* productcatalogue
|
||
- The 'product catalogue' microservice of the DJShopping example application, which provides product details like name and price
|
||
stockmanager
|
||
- The 'stock manager' microservice of the DJShopping example application, which provides stock information, such as SKU and quantity
|
||
|
||
* prepare-app.sh: script to prepare the application and create all related services.
|
||
* remove-app.sh: remove the application and all related services.
|
||
* Docker compose & Docker files.
|
||
|
||
## Technologies Used
|
||
|
||
* Java
|
||
* Spring-Boot 3.2.4
|
||
* Maven 4.0.0
|
||
* jdk v8
|
||
* Docker
|
||
* Kubernetes
|
||
|
||
## How to run the project
|
||
|
||
* Open console prompt
|
||
* Navigate to docker-Java-kubernetes-project
|
||
* Execute the following command:
|
||
´´´
|
||
minikube start #this will initialize the minikube service (kubernetes)
|
||
´´´
|
||
* Navigate to shopfront folder
|
||
* Run the following command:
|
||
```
|
||
mvn clean install
|
||
```
|
||
* One the building its finish execute the following command:
|
||
```
|
||
docker build -t shopfront:latest .
|
||
```
|
||
* Repeat in each folder
|
||
* Once you finish building all docker images execute:
|
||
```
|
||
docker images #to check the images in your system
|
||
```
|
||
* Execute the following command on the folder kubernetes
|
||
```
|
||
kubectl service file_name.yaml #to start the service, do it with all the services
|
||
```
|
||
* Execute the following command
|
||
```
|
||
minikube service service_name
|
||
```
|
||
- Do it with all the services, once you open the service productcatalogue got to http://localhost/port/products and the same with stockmanager -> http:localhost:port/stocks
|
||
|
||
* The application shold be running rigth now.
|