https://github.com/efk-lab/bookworm-casestudy
CaseStudy - Bookworm
https://github.com/efk-lab/bookworm-casestudy
assertj event-sourcing java11 kubernetes maven mockito mongodb redis rest spring-boot-data-mongodb spring-boot-data-redis spring-boot-security spring-security-oauth2 springboot
Last synced: 3 months ago
JSON representation
CaseStudy - Bookworm
- Host: GitHub
- URL: https://github.com/efk-lab/bookworm-casestudy
- Owner: efk-lab
- Created: 2023-11-30T09:35:41.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-30T19:52:03.000Z (over 1 year ago)
- Last Synced: 2025-01-06T03:42:20.422Z (5 months ago)
- Topics: assertj, event-sourcing, java11, kubernetes, maven, mockito, mongodb, redis, rest, spring-boot-data-mongodb, spring-boot-data-redis, spring-boot-security, spring-security-oauth2, springboot
- Language: Java
- Homepage:
- Size: 62.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BookWorm
Bookworm is a rest api for an online book store.
# Tech Stack
Java11,
Spring Boot(web, test, data-mongodb, data-redis, security, log4j2, cache, validation, aop)
REST,
MongoDB,
Spring Security Oauth2,
Redis,
Maven,
Junit5, Mockito, Assertj,
Kubernetes# Rest API
- UserRegistryController : Restfull Service for user registry
- signUp : Method for user creation
- CustomerController : Restfull Service for customer operations.
- saveCustomer : Method for customer creation
- getCustomerOrders : Method for customer's order retrieval- BookController : Restfull Service for customer operations.
- saveBook : Method for book creation
- getBook : Method for customer retrieval
- updateBookStock : Method for book stock update
- OrderController : Restfull Service for order operations.
- saveOrder : Method for order creation
- getOrder : Method for order retrieval
- getOrders : Method for all order retrieval
- StatisticsController : Restfull Service for statistics operations.
- getMonthlyStatistics : Method for monthly statistics retrieval# Deployment
- Install minikube
- https://minikube.sigs.k8s.io/docs/start/- For loadbanacer run command below
> minikube tunnel
- Build Image
> docker build -t bookworm:latest -f /eclipse-workspace/BookWorm/src/main/resources/Dockerfile .
> eval $(minikube docker-env)
- Deploy Applications
> kubectl apply -f bookworm.yaml
- Kubernetes Dashboard
> minikube dasboard
- Prometheus&Grafana
> kubectl create namespace monitoring
> helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
> helm install k8spromethuesstack --namespace monitoring prometheus-community/kube-prometheus-stack