Skip to content

devdand5/Insurance-Lifecycle-Microservices-Project

Repository files navigation

Insurance Lifecycle Management System

Overview

The Insurance Lifecycle Management System is a microservices-based application developed using Spring Boot and Spring Cloud. It simulates the complete insurance workflow, including quote generation, policy management, underwriting, claims processing, and payment handling.

The project demonstrates modern distributed system architecture using service discovery, centralized configuration, API gateway routing, secure authentication, and event-driven communication.


Architecture

The system follows a Microservices Architecture where each business capability is implemented as an independent service.

Components

  • Config Server
  • Eureka Discovery Server
  • API Gateway
  • Policy Service
  • Quotes Service
  • Underwriting Service
  • Claims Service
  • Payment Service

Technology Stack

Backend

  • Java 17
  • Spring Boot
  • Spring Cloud

Security

  • Spring Security
  • JWT Authentication

Service Communication

  • REST APIs
  • Apache Kafka

Database

  • MongoDB

Infrastructure

  • Eureka Service Discovery
  • Spring Cloud Config Server
  • Spring Cloud Gateway

Build Tool

  • Maven

Microservices Description

Config Server

Provides centralized configuration management for all microservices.

Eureka Server

Handles service registration and discovery between microservices.

API Gateway

Acts as the single entry point for all client requests and routes traffic to the appropriate services.

Quotes Service

Generates insurance quotes based on customer requirements and policy details .

Underwriting Service

Evaluates insurance applications and determines risk eligibility.

Policy Service

Manages policy creation, updates, retrieval, and lifecycle operations.

Claims Service

Processes customer insurance claims and tracks claim status.

Payment Service

Handles premium payments and payment-related operations.


Key Features

  • Microservices-based architecture
  • Service Discovery with Eureka
  • Centralized Configuration Management
  • API Gateway Routing
  • JWT Authentication and Authorization
  • MongoDB Integration
  • Kafka Event-Driven Communication
  • RESTful APIs
  • Scalable and Modular Design
  • Independent Service Deployment

Project Workflow

  1. Customer requests an insurance quote.
  2. Quotes Service generates a quote.
  3. Underwriting Service evaluates risk.
  4. Policy Service creates and manages policies.
  5. Payment Service processes premium payments.
  6. Claims Service handles claim submissions and processing.
  7. API Gateway routes all incoming requests.
  8. Eureka manages service registration and discovery.

Service Ports

Service Port
Config Server 8888
Eureka Server 8761
API Gateway 8080
Policy Service 8081
Quotes Service 8082
Claims Service 8083
Payment Service 8084
Underwriting Service 8081/Configured Port

Project Structure

Insurance-Lifecycle-Microservices-Project
│
├── api-gateway
├── claims-service
├── config-server
├── eureka-server
├── payment-service
├── policy-service
├── quotes-service
├── underwriting-service
│
├── README.md
└── .gitignore

Getting Started

Prerequisites

  • Java 17+
  • Maven
  • MongoDB
  • Apache Kafka
  • Git

Clone Repository

git clone https://github.com/devdand5/Insurance-Lifecycle-Microservices-Project.git
cd Insurance-Lifecycle-Microservices-Project

Configure Database

Update the MongoDB configuration in the application properties:

spring.data.mongodb.uri=<YOUR_MONGODB_URI>
spring.data.mongodb.database=<YOUR_DATABASE_NAME>

Start Services

Start the services in the following order:

  1. Config Server
  2. Eureka Server
  3. API Gateway
  4. Remaining Microservices

Security

The application uses JWT (JSON Web Token) authentication for securing API endpoints and controlling access to protected resources.


Future Enhancements

  • Redis Caching
  • Docker Containerization
  • Kubernetes Deployment
  • CI/CD Integration
  • Distributed Tracing
  • Monitoring with Prometheus and Grafana
  • Circuit Breaker using Resilience4j
  • API Documentation using Swagger/OpenAPI

Learning Outcomes

This project helped in understanding:

  • Microservices Architecture
  • Spring Cloud Ecosystem
  • Service Discovery
  • API Gateway Pattern
  • JWT Security
  • Event-Driven Communication using Kafka
  • Centralized Configuration Management
  • Distributed System Design
  • REST API Development

Author

Dev Dand

Spring Boot Developer | Java Developer | Microservices Enthusiast


License

This project is created for educational and learning purposes.

About

Insurance Lifecycle Management System built using Spring Boot Microservices architecture with Eureka Service Discovery, API Gateway, Config Server, MongoDB, Kafka, and JWT Authentication.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages