Skip to content

borkowsky/webstore-micro

Repository files navigation

Web Store

Functional information

Online web store.
Products categories, subcategories, brands, tags.
Search by product name, category name, brand name.
Basket (for authorized and not authorized users).
Favorites (for authorized users).
Ordering products with delivery.
Reviews with rating and images.
Collect daily statistics for shop.

Technical information

Project build with microservices architecture. Auth flow realized with OAuth2 SSO.
Services registering in Spring Cloud Netflix Eureka Discovery server and can be accessible from Spring Cloud Gateway (working as OAuth2 Backend for Frontend).
The connection between services is configured using Spring Cloud OpenFeign client (sync method) and Apache Kafka (async method).
Collecting metrics realized with Grafana in Prometheus format.
Upload images realized with Google Cloud Storage service.
Soft delete for entities.

Used stack of technologies:

  • Spring boot
  • Spring Cloud Config (server, client)
  • OAuth2 Keycloak SSO
  • Spring OAuth2 Resource server
  • Spring Cloud Gateway
  • Spring Cloud Discovery - Netflix Eureka (server, client)
  • Spring Cloud OpenFeign
  • Caffeine in-memory cache
  • Apache Kafka
  • Google Cloud Storage
  • Grafana Metrics (Prometheus)

Services:

  1. Users
  • Addresses (read, create, update, delete).
  • Basket (read, create, update, delete, sync).
  • Favorites (read, create, delete).
  • Me (read information about authorized user).
  • Users (read: search from inner Keycloak OAuth2 storage).
  1. Products
  • Categories (read, create, update, delete).
  • Brands (read, create, update, delete).
  • Products (read, create, update, delete).
  • Search (read: search by categories, brands, products).
  1. Orders
  • Orders (read, create, update, delete).
  • Payments (read, create, update).
  1. Reviews
  • Reviews (read, create, delete).
  1. Uploads
  • Sign uploading URL (create)
  • Delete uploaded objects (delete: single and multiple)
  1. Events
  • Create event (read)

About

Webstore Spring Boot microservices project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages