/Spring-MicroServices-OnlineShopping-Example

Microservice project for OnlineShopping built using Spring-cloud

Primary LanguageJava

Online Shopping Example with Microservices Using Spring

Requiremenent

Micro Services:

  • Customer Service:
    • Retrieve all Customers
    • Retrieve one Customer using Id.
    • Add Customer, When a customer is added, sales order service should also create a copy of the customer in it
    • Update Customer
    • Delete Customer
    • Should be Deployed on tomcat
  • Item Service:
    • Retrieve all Items
    • Retrieve one Item with Item Name.
    • Add Item
    • Update Item
    • Delete Item
    • Should be deployed on Jersy
  • Sales Order Service:
    • Retrieve all Orders
    • Retrieve one Order with Order Id
    • Add Order
    • Should be deployed on Undertow server

Service Registry:

  • All above services should Register them with this Registry

API Gateway:

  • All Services should be accessible with single gateway

Configuration of the application should be centralized

Technologies Used

  • Angular 7
  • PrimeNG for reach and responsive UI
  • Java 1.8
  • Spring Boot
  • Spring Cloud (Eureka Discovery,Eureka Server, Config, Zuul)
  • Spring Data, Hibernate
  • H2 Database
  • Kafka for Communication between microservices
  • Spring Java Mailer
  • Swagger2 (UI for testing of APIs)

Softwares Pre-requisite

  • Java 1.8
  • Maven
  • Eclipse Neon(4.6.3+) / Spring Tool Suite(3.8.4+) - Optional. You can run projects using Maven
  • Kafka ( alreay present in repository)
  • SMTP Mail Server Jar ( Already present in repository)
  • Node.js (8.x+) + NPM (5.6.x+)

How to Run the project

Run Zookeeper and Kafka

  • Run Zookeeper
    • Windows: Go to 'kafka_2.11-2.0.0' and Run bin\windows\zookeeper-server-start.bat config\zookeeper.properties
    • Linux: Go to 'kafka_2.11-2.0.0' and Run bin\zookeeper-server-start.sh config\zookeeper.properties
  • Run Kafka
    • Windows: Go to 'kafka_2.11-2.0.0' and Run bin\windows\kafka-server-start.bat config\server.properties
    • Linux: Go to 'kafka_2.11-2.0.0' and Run bin\kafka-server-start.sh config\server.properties

Run DevNullSmtp.jar

Go to smtp-jar and run 'java -jar DevNullSmtp.jar'

Run Configuration Server

Import 'ConfigurationServer' as Maven project and Run it as Spring boot application.

Run Eureka Server

Import 'EurekaServer' as Maven project and Run it as Spring boot application.

Run Customer Service

Import 'CustomerService' as Maven project and Run it as Spring boot application.

Run Item Service

Import 'ItemService' as Maven project and Run it as Spring boot application.

Run Sales Order Service

Import 'SalesOrderService' as Maven project and Run it as Spring boot application.

Run API Gateway

Import 'APIGateway' as Maven project and Run it as Spring boot application.

Run Angular 7.x based Shopping UI

1. Install angular CLI - 'npm install -g @angular/cli'
2. Go to 'ShoppingUI/ShoppingUI' folder which has 'package.json' file. 
3. Run 'npm install'
4. Run 'ng serve --open'. Application will open up in a browser.