Skip to content

Microservice-webflux with spring boot, reactor-core, Liquibase database migration, docker, apache kafka.

License

Notifications You must be signed in to change notification settings

hoangtien2k3/microservice-webflux

Repository files navigation

Microservice-Webflux

Microservice-webflux with spring boot, reactor-core, Liquibase database migration, docker, apache kafka.

Prerequisites

Before you begin, ensure you have met the following requirements:

  • Java Development Kit (JDK) 17 or higher installed.
  • Build tool (e.g., Maven) installed.
  • Database system (e.g., MySQL, Liquibase) set up and configured.
  • Kafka sends message
  • Liquibase db migration
  • Database R2DBC
  • Spring Cloud API-GATEWAY
  • Skima Validate Json
  • Docker and docker-compose

Features

  • ✅ Using Microservices as a high-level architecture

Getting Started

Follow these steps to set up and run the backend:

  1. Clone the repository:
   git clone https://github.com/hoangtien2k3/microservice-webflux.git

1. Navigate to the project directory:

  cd project-name-backend

2. Build the project:

  # Using Maven
  mvn clean install
  
  # Using Gradle
  gradle build

3. Configure the database:

  • Update application.properties or application.yml with your database connection details.

4. Run the application:

  # Using Maven
  mvn spring-boot:run
  
  # Using Gradle
  gradle bootRun

Technologies Used

  • Java: The primary programming language.
  • Spring Boot: Framework for building Java-based enterprise applications.
  • Maven/Gradle: Build tools for managing dependencies and building the project.
  • Database: Choose and specify the database system used (e.g., MySQL, PostgreSQL).
  • Other Dependencies: List any additional dependencies or libraries used.

API Documentation

Document the API endpoints and their functionalities. You can use tools like Swagger for automated API documentation.

Post Man:

Profile Service Send Topic:

image

Account Service Receiver Topic:

image

Doceker

image

Contributing

If you would like to contribute to the development of this project, please follow our contribution guidelines.

License

This project is licensed under the MIT License.