Skip to content

This is a simple microservice example that demonstrates the use of WebFlux, CriteriaBuilder Query, and MapStruct to fetch an Order from MongoDB. The application provides a RESTful API that accepts query parameters and returns a list of orders that match the given criteria.

Andrea-Cavallo/webFlux-CriteriaBuilderQuery-MapStruct

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

webflux_example_ms

Andrea Cavallo

Technologies Used

The following technologies were used to build this application:
Technologies Involved:

Java 11: The microservices are written in Java 11, taking advantage of the latest language features and improvements in performance.

Spring Boot 3: Spring Boot is used as the foundation for building the microservices, offering a fast and easy-to-use platform for creating standalone applications.

MongoDB: A NoSQL database used for persisting order and product data, offering high performance and horizontal scalability.

JUnit: A testing framework used for writing and executing unit tests, ensuring the quality of the codebase.

Mockito: A popular mocking framework used in conjunction with JUnit to create mock objects for testing purposes.

Maven: A build automation tool used for managing dependencies, building, and packaging the microservices.

Project Reactor: A reactive programming library for building non-blocking, event-driven applications, ensuring the microservices are highly responsive and performant.

Splunk: A monitoring and analytics tool used for collecting, searching, and analyzing log data generated by the microservices.

IntelliJ IDEA: The Integrated Development Environment (IDE) used for writing, debugging, and maintaining the codebase.

Postman: A tool used for testing and interacting with the RESTful APIs exposed by the microservices.

Orchestration:

Apache Camel: An integration framework used for orchestrating the microservices, defining the routes and data transformations between them.

WSO2: An open-source API management platform that is used for securing, monitoring, and managing the APIs exposed by the microservices. By utilizing these technologies, ROPMS offers a highly available, scalable, and performant system for managing orders and products in a business environment. The use of Apache Camel and WSO2 ensures that the microservices can be easily orchestrated and integrated into a larger system, making ROPMS a versatile solution for various business needs.

Requirements

  • Having Java 11 or later installed.
    You can download it from Oracle's website.

  • Having MongoDB

    Install MONGODB from MONGODB's website.

  • Having a Client-Side application to communicate with the REST API endpoints.
    Install Postman from Postman's website.

Installation

  1. Clone this repository to your local machine using this command :
    git clone https://github.com/Andrea-Cavallo/webFlux-CriteriaBuilderQuery-MapStruct.git
  2. Import the project into your IDE (such as IntelliJ IDEA or Eclipse).
  3. Open the application.yml file located in src/main/resources/ and update the database credentials with your own.
spring:
data:
  mongodb:
    host: localhost
    port: 27017
    database: productsDB
  1. Run the application as a Spring Boot application, or using the Maven plugin mvn spring-boot:run.

About

This is a simple microservice example that demonstrates the use of WebFlux, CriteriaBuilder Query, and MapStruct to fetch an Order from MongoDB. The application provides a RESTful API that accepts query parameters and returns a list of orders that match the given criteria.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages