The project is a Spring Boot-based RESTful API for an insurance management system. It uses Spring Data JPA for persistence and an embedded database for development purposes.
The system has three main domain models: Client, InsurancePolicy, and Claim. A Client represents a person who has one or more insurance policies, and an InsurancePolicy represents the coverage details of an insurance policy, including its associated client. A Claim represents an insurance claim made by a client against one of their policies.
Client: Java, SpringBoot, Spring Data JPA, Hibernate, Spring Security, JUnit and Mockito
RDBMS: MySQL
Testing: Swagger
- Client Module
- Insurance-Policy Module
- Claim Module
- Login Module
Clone the project
git clone https://github.com/abhidas0810/Insurance-Management-Platform.git
Go to the project resources
- src/main/resources and modify the MySQL login details in the application.properties file to match the system on which the application will be executed.
Run the main file
- src\main\java\com\insuranceManagementPlatform\InsuranceManagementPlatformApplication.java
Start the server
GET- http://localhost:8888/api/logIn : To access the system, Clint is required to log in using their email address and password. Upon successful authentication, an authorization token will be generated, which Clint must copy and paste into the designated "Authorize" field located in the top right-hand corner of the screen in order to gain access to the authorized areas of the system.
-
POST- http://localhost:8888/api/clients : Register client details. Email id must be a valid email. Date must be in YYYY-MM-DD format and must be in past. Mobile number must be of 10 digits.
-
GET- http://localhost:8888/api/clients : Get all client details.
-
GET - http://localhost:8888/api/clients/id : Get details of specific client using emailId.
-
PUT - http://localhost:8888/api/clients/id : Update the details of specific client using emailId. Email id must be a valid email. Date must be in YYYY-MM-DD format. Mobile number must be of 10 digits.
-
DELETE - http://localhost:8888/api/clients/id : Delete the details of specific client using emailId.
-
POST- http://localhost:8888/api/policies : Create policy details. Date must be in YYYY-MM-DD format and must be in future.
-
GET- http://localhost:8888/api/policies : Get all policies details.
-
GET - http://localhost:8888/api/policies/id : Get details of specific policy using policyNumber.
-
PUT - http://localhost:8888/api/policies/id : Update the details of specific policy using policyNumber. Date must be in YYYY-MM-DD format and must be in future.
-
DELETE - http://localhost:8888/api/policies/id : Delete the details of specific policy using policyNumber.
-
POST- http://localhost:8888/api/claims : Create claim details. Date must be in YYYY-MM-DD format and must be in past.
-
GET- http://localhost:8888/api/claims : Get all claims details.
-
GET - http://localhost:8888/api/claims/id : Get details of specific claim using claimNumber.
-
PUT - http://localhost:8888/api/claims/id : Update the details of specific claim using claimNumber. Date must be in YYYY-MM-DD format and must be in past.
-
DELETE - http://localhost:8888/api/claims/id : Delete the details of specific claim using claimNumber.