This project is developed for the master's degree module 7045CEM Advanced Software Development. It implements a Customer Feedback and Rating System for iSure, an online insurance company. The system enables users to provide feedback and rate their experiences with various insurance policies, earning loyalty points in the process.
-
User Feedback and Rating: Users can review different insurance policies, providing feedback on coverage, policy clarity, and overall satisfaction. Ratings and comments contribute to the user's loyalty points.
-
Points Management: Users earn loyalty points for each comment and rating. Removing feedback results in the loss of earned points.
-
Server-Side Development: The backend is developed using Java Spring Boot, providing REST APIs for each service and functionality.
-
Database: MongoDB is used for data storage, ensuring a scalable and flexible database solution.
-
Test-Driven Development (TDD): The project follows the Test-Driven Development approach. Requirements are written first, and then test units are developed using JUnit to ensure the functionality of each API.
-
Design Patterns: Gang of Four (GoF) Design Patterns are implemented for maintaining code quality.
- Creational: Builder
- Structural: Facade
- Behavioral: Chain of Responsibility
- Explanation:
The Builder Pattern is used in the creation of complex objects. In the context of this project, it is applied to construct intricate structures related to insurance policies, ensuring a clear and organized representation.
- Diagram
- Explanation:
The Facade Pattern provides a unified interface to a set of interfaces in a subsystem, making it easier to use. In this project, it simplifies the interactions between different components, offering a more straightforward experience for developers and maintaining a clean architecture.
- Diagram
- Explanation:
The Chain of Responsibility Pattern passes a request along a chain of handlers. In the context of this project, it is employed to handle various tasks related to feedback and ratings, creating a flexible and extensible system.
- Diagram
- Gang of Four (GoF) Design Patterns
- Java Spring Boot
- MongoDB
- HTML CSS
- JavaScript
- JUnit
For any inquiries, please contact Radman Lotfiazar at [email protected].