Skip to content

UserService is a Java-based microservice for user management, built with Spring WebFlux using reactive programming principles. It focuses on scalability and maintainability through clean architecture. This project is intended as a learning tool, not for production use, and demonstrates modern Java development practices with Spring WebFlux.

License

Notifications You must be signed in to change notification settings

MiroslavKolosnjaji/UserService

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Spring WebFlux License: MIT GitHub forks

UserService

The UserService microservice facilitates user management within an application. It employs reactive programming principles and follows a clean architecture approach to ensure scalability and maintainability

Limitations and Use Case

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.

Technologies Used:

  • 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 Security: Ensures robust authentification and authorization mechanisms for securing user data.
  • 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.

Conclusion:

This UserService microservice embodies modern Java development practices, leveraging reactive programming, clean architecture, and robust testing methodologies to deliver efficient and scalable user management functionality.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Microservice Projects Overview

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.

RoleService GymService MemberService MembershipService CityService

Feel free to check them out to explore the differences in entities and how each service is implemented.

About

UserService is a Java-based microservice for user management, built with Spring WebFlux using reactive programming principles. It focuses on scalability and maintainability through clean architecture. This project is intended as a learning tool, not for production use, and demonstrates modern Java development practices with Spring WebFlux.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages