The GymService Microservice is designed to manage gym data within an application ecosystem. It provides RESTful API endpoints for creating, updating, retrieving, and deleting gym data. Built using Java technologies and Spring WebFlux, this microservice employs reactive programming principles for efficient handling of concurrent requests.
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.
- 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 GymService microservice embodies modern Java development practices, leveraging reactiver programming, clean architecture, and robust testing methodologies to deliver efficient and scalable gym data 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.