Skip to content

MiroslavKolosnjaji/CityService

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CircleCI Java Spring WebFlux License: MIT GitHub forks

CityService

The CityService microservice is designed to manage city data, leveraging various modern Java technologies such as Spring Framework, Project Lombok, and WebFlux for reactive programming. It provides a RESTful API for CRUD Operations on city entities.

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 Data R2DBC: Spring Data module for reactive database access using R2DBC
  • MapStruct: Used for mapping between domain entities and DTOs.
  • H2 Database: In-memory relational database for development and testing purposes
  • 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.
  • JSON: Data interchange format for communication between the client and the server.

This project showcases modern Java development practices, emphasizing reactive programming and clean architecture for building scalable and maintainable microservices.

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.

UserService RoleService GymService MemberService MembershipService

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