zkt24-sk1/README.md

61 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.