The MembershipService microservice is tailored for managing membership within an application ecosystem. It furnishes RESTful API endpoints for executing CRUD operations on membership data. Developed using Java technologies and Spring WebFlux, this microservice capitalizes on reactive programming paradigm to handle concurrent requests efficiently.
This microservice was developed as a practice project to explore reactive programming with Spring WebFlux.
It is not intended for production use but serves as a learning tool to demonstrate modern Java development practices and principles.
- Spring Framework: Core Framework for building enterprise Java applications.
- Project Lombok: Library for reducing boilerplate code in Java.
- Spring WebFlux: Provides reactive programming support for building asynchronous, non-blocking web applications.
- Spring Data R2DBC: Spring Data module for reactive database access using R2DBC.
- MapStruct: Used for mapping between domain entities and DTOs.
- JUnit5: Testing framework for unit and integration testing in Java.
- Mockito: Framework for creating mock objects in automated testing.
- Spring Boot Test: Provides testing support for Spring Boot applications.
- R2DBC (Reactive Relational Database Connectivity): Reactive database driver for relational databases.
- H2 Database: In-memory relational database for development and testing purposes.
- JSON: Data interchange format for communication between the client and the server.
The MembershipService microservice embodies modern Java development methodologies, integrating robust testing practices, clean architecture, and reactive programming techniques. These elements collectively ensure the delivery of resilient and scalable membership management functionality.
This project is licensed under the MIT License - see the LICENSE file for details.
Here are some of my microservice projects, all built with a similar structure and focused on different business domains. These projects allow me to practice writing reactive code with WebFlux.
Feel free to check them out to explore the differences in entities and how each service is implemented.