Skip to content

Latest commit

 

History

History
74 lines (58 loc) · 4.14 KB

File metadata and controls

74 lines (58 loc) · 4.14 KB

JavaSpringbootRESTMicroservices

A collection of Java Spring Boot REST Microservice projects demonstrating various architectural patterns, technologies, and best practices for building modern, scalable, resilient microservice and web applications.

Project Summaries

springboot-microservices

A comprehensive microservices-based architecture that consists of multiple services showcasing:

  • Service Registry (Eureka)
  • Department, Employee, and Organization microservices
  • API Gateway for routing
  • Config Server for centralized configuration
  • Resilience4j for circuit breaking and retry mechanisms
  • Distributed tracing with Micrometer and Zipkin

springboot-microservices-springcloud-docker-kubernetes-helm

A production-style banking microservices platform built with Spring Boot and Spring Cloud, designed for containerized and cloud-native deployment:

  • Core domain services for Accounts, Cards, and Loans
  • Platform services including Config Server, Eureka Server, and API Gateway
  • Dual messaging setup with Kafka and RabbitMQ for event-driven communication
  • Resilience patterns with circuit breaker, retry, rate limiter, and time limiter at gateway and service layers
  • OpenFeign client-side resilience with fallback handlers for Loans and Cards integrations
  • Security and identity integration with Keycloak
  • Deployment support across Docker Compose, Kubernetes manifests, and Helm charts
  • Observability stack with Grafana, Prometheus, Loki, and Tempo

springboot-grpc-microservices

A trading platform demonstrating gRPC-based microservices communication with Spring Boot:

  • User Service: Manages user accounts, portfolios, and trading operations
  • Stock Service: Provides real-time stock prices and streaming market data
  • Aggregator Service: API Gateway with REST endpoints and web interface
  • Protocol Buffers for type-safe inter-service communication

springboot-kafka-microservices

A microservices architecture using Kafka for event-driven communication between services:

  • Order Service: Creates orders and publishes events
  • Stock Service: Manages inventory based on order events
  • Email Service: Handles notifications based on order events The system processes orders through multiple services, showcasing asynchronous communication patterns.

springboot-rabbitmq-microservices

A project demonstrating microservices communication using RabbitMQ message broker, implementing asynchronous messaging patterns between services.

springboot-kafka-wikimedia-project

A real-time data processing application with two modules:

  • kafka-producer-wikimedia: Streams real-time changes from Wikimedia's EventStreams API
  • kafka-consumer-database: Persists Kafka messages to MySQL database

springboot-fullstack-employee-management-system

A full-stack application with Spring Boot backend and frontend for employee management, featuring CRUD operations, RESTful API design, and MySQL database integration.

springboot-restful-webservices

A backend-focused project implementing RESTful web services with Spring Boot, featuring Mockito and JUnit for comprehensive unit testing.

springboot-rabbitmq-tutorial

A tutorial project covering RabbitMQ integration with Spring Boot, including exchanges, queues, bindings, and message handling patterns.

springboot-kafka-tutorial

A basic tutorial project demonstrating Kafka integration with Spring Boot, including producer and consumer implementations with essential configurations.

springboot-todo-management

A full-stack Todo Management application with Spring Boot backend and React frontend:

  • JWT-based authentication and role-based authorization
  • RESTful APIs for CRUD operations on todos
  • Spring Security with BCrypt password encoding
  • React frontend with Bootstrap UI and protected routes
  • MySQL database integration with automatic schema creation

banking-app

A Spring Boot application demonstrating core banking functionalities with RESTful APIs, including account management, transactions, and basic banking operations.

Getting Started

Each project contains its own README with detailed setup instructions. Navigate to the specific project directory for more information on running and configuring each application.