Skip to content

MariamRaouf30/InsuranceCompany

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

Project-README

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contact
  6. Acknowledgments

About The Project

The Insurance Company System is a comprehensive solution designed to manage customer information, policy creation, and customer requests using a powerful blend of REST and gRPC communication protocols. The project leverages a combination of Spring Boot, REST, gRPC, Lombok, and MongoDB to provide a seamless and user-friendly experience for both administrators and customers. Built on a microservices architecture, the project leverages the speed and efficiency of gRPC, combined with the familiarity of REST. This dynamic combination enables efficient and high-performance interactions between microservices while ensuring broad accessibility and easy integration for external clients.

(back to top)

Built With

  • Spring Boot 3.0
  • React
  • Lombok
  • Mongodb 3.0
  • JDK

Methodologies

  • Microservices Architecture: The system is designed as a collection of loosely coupled microservices, each focused on specific business functionalities. This architecture ensures independent deployment of services.

  • Domain-Driven Design (DDD): The project follows domain-driven design principles to align software design with the business domain, making the software more accurate and easier to maintain.

  • Query-First Approach: The system adopts a query-first approach, ensuring that data retrieval and presentation are optimized for efficient user experiences. This approach enhances the performance and responsiveness of customer interactions.

Domains

Key Domains of the system:

  • Customer:

Customers interact with the system to view policies, make requests, and manage their information.

  • Policy:

This domain focuses on policy management. Policies are created and viewed by Customers.

  • Request:

The request domain enables customers to submit various types of requests to update personal details.

Microservices

Microservices that access domains:

  • Registration.
  • Login.
  • CreatePolicy.
  • GetCustomers.
  • GetPolicies.
  • MakeRequest.
  • CustomerPolicy. (to create both customers and policies)

(back to top)

Getting Started

Get started with the project

Prerequisites

  • Java 11 or higher
  • MongoDB
  • npm
    npm install npm@latest -g

Installation

  1. Clone the repo
    git clone [https://github.com/your_username_/Project-Name.git](https://github.com/MariamRaouf30/InsuranceCompany)
  2. Install NPM packages
    npm install

(For Frontend) 3. Springboot Extension to run the application 4. Configure port connections 5. Start your application after building

(back to top)

Usage

The system is designed for scalability, adaptability and enhanced performance. It accommodates evolving business needs. Additional microservices can be seamlessly integrated to enhance functionality, keeping the system responsive to industry needs and customer expectations.

(back to top)

Roadmap

  • ER Diagram
  • Use Cases for the system
  • Add Main Domains
  • Connect to Database (MongoDB)
  • Add Microservices.
  • Frontend Project.
  • Test project performance.
    • RESTful API
    • gRpc

(back to top)

Contact

Mariam Raouf - [email protected]

Project Link: https://github.com/MariamRaouf30/InsuranceCompany

(back to top)

Acknowledgments

List of resources found helpful.

(back to top)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published