MarcoBl96/ShoppingCart-Microservices
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
ShoppingCart by ikismail (https://github.com/ikismail/ShoppingCart) migrated to Microservice-Application ================================================ ShoppingCart-Microservices Changes: ================================================ -Spring Boot Implementation -Spring Security Config XML to JAVA -Spring Flow Config XML to JAVA -Web.xml removed -Change DB from H2 To MariaDB -Migrating to Microservice architecture with REST API -Discovery-Service + Loadbalancing -Change frontend JSP to AngularJS (incl. API-Gateway Service) -Spring Webflux Security authentication -Docker + Docker compose config ================================================ ================================================ Installation + How to run ================================================ 1. Setup IntelliJ Idea * [Download IntelliJ Idea](https://www.jetbrains.com/idea/download/#section=windows) 2. Build Tool - Maven * [Download Maven](https://maven.apache.org/download.cgi) 3. Database - MariaDB * [Download MariaDB](https://mariadb.org/download/?t=mariadb&p=mariadb&r=10.8.3&os=windows&cpu=x86_64&pkg=msi&m=hs-esslingen) 4. Open project in Intellij Idea * File -> Open -> ShoppingCart-Microservice 5. Setup database for microservices * Open: src/main/resources/application.yml * Edit config * URL: spring.datasource.url=jdbc:mariadb://mariadb:3306/shoppingcart * Username: spring.datasource.username=root * Passwort: spring.datasource.password=password 6. Run project in Intellij *start discovery-service: * Command: "cd .\discovery-service\" * Command: "mvn spring-boot:run" *start api-gateway starten: * Command: "cd .api-gateway\" * Command: "mvn spring-boot:run" *start user-service starten: * Command: "cd .\user-service\" * Command: "mvn spring-boot:run" *start product starten: * Command: "cd .\product-service\" * Command: "mvn spring-boot:run" *start cart-service starten: * Command: "cd .\cart-service\" * Command: "mvn spring-boot:run" *start order-service starten: * Command: "cd .\order-service\" * Command: "mvn spring-boot:run" * Open browser and go to: "http://localhost:8080/" 7. Run project inside docker container (Windows) * Install docker for Windows * [Download Docker(https://docs.docker.com/desktop/install/windows-install/) * Run Docker * Repeat for every service: * Package service with maven: * Command: "mvn package spring-boot:repackage" * Build with docker: * Command: "docker build -t shoppingcart-microservice/product-service ." * Run Docker-Compose (Config: docker-compose.yml) * Command: "docker-compose up" * Open browser and go to: "http://localhost:8080/" 8. Run project in google cloud with kubernetes engine: * Open: "https://console.cloud.google.com/" * Login with Google Account (Credit cart needed for Google Cloud) * Create new project * Tag and upload all docker images (incl. MariaDB -> mariadb:10.7) to Google Cloud Container Registriy * Instructions: https://cloud.google.com/container-registry/docs/pushing-and-pulling * Create new GKE Standard Cluster in Kubernetes-Engine: * Region: europe-west3-c * Nodes: 5 * Computer-Type: e2-medium * Run project in cluster: * Open local terminal * Makes sure Google Cloud CLI is installed * glcoud init by using command "gcloud init" * Add all services incl. mariadb by its kubernetes config (deployment.yaml) to cluster: * Change directory to service e.g. "cd .\api-gateway" * kubectl apply -f deployment.yaml * Setup extern Loadbalancer with extern IP in Google Webinterface for api-gateway * Services -> api-gateway -> Make public -> Port 8080-8080 * Open browser and go to external IP
Releases
No releases published
Languages
- Java 36.3%
- JavaScript 27.3%
- HTML 27.2%
- CSS 8.7%
- Dockerfile 0.5%