https://github.com/ngdangkietswe/ndk-microservices
Microservices | gRPC | Redis | Docker | PostgreSQL | RabbitMQ | ElasticSearch | Jenkins, ...
https://github.com/ngdangkietswe/ndk-microservices
docker elasticsearch grpc java jwt microservices postgresql rabbitmq redis spring-boot spring-cloud
Last synced: 3 months ago
JSON representation
Microservices | gRPC | Redis | Docker | PostgreSQL | RabbitMQ | ElasticSearch | Jenkins, ...
- Host: GitHub
- URL: https://github.com/ngdangkietswe/ndk-microservices
- Owner: ngdangkietswe
- Created: 2023-10-30T15:34:44.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-24T17:04:53.000Z (over 2 years ago)
- Last Synced: 2025-02-12T06:24:36.824Z (over 1 year ago)
- Topics: docker, elasticsearch, grpc, java, jwt, microservices, postgresql, rabbitmq, redis, spring-boot, spring-cloud
- Language: Java
- Homepage:
- Size: 3.78 MB
- Stars: 0
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DKMicroservices
Simple Microservices with Spring Boot and gRPC
## Prerequisites
- [Docker](https://docs.docker.com/engine/install/)
- [Docker Compose](https://docs.docker.com/compose/install/)
- [JDK 17](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html)
## Installing required tools
- Once the prerequisites are installed, run the command in folder ***/docker***.
```
docker-compose -f docker-compose.yml up -d
```

- Docker Containers

## System Architecture

## Project Structure and Technical Stack
- Project Structure

- Technical Stack
Spring Cloud
Spring Security
Rest Server
gRPC Server
Postgresql
RabbitMQ
ElasticSearch
Redis
Config Server
x
Service Registry
x
x
Api Gateway
x
x
x
x
x
Auth Service
x
x
x
Employee Service
x
x
x
x
Department Service
x
x
x
Notification Service
x
x
x
x
Location Service
x
x
Tracking Service
x
x
x
x
Recruitment Service
x
x
x
x
Attendance Service
x
x
x
x
- Services Port
Rest Server Port
gRPC Server Port
Config Server
8088
Service Registry
8761
Api Gateway
8003
Auth Service
8004
8040
Employee Service
8002
8020
Department Service
8001
8010
Notification Service
8005
8050
Location Service
8006
8060
Tracking Service
8007
8070
Recruitment Service
8008
8080
Attendance Service
8009
8090
## Run on Local
- Run with IntelliJ IDEA
- Run command in root project ***/dkmicroservices***
```
mvn clean install
```
- Maven

- Service run order: service-registry, config-server > department-service, employee-service, auth-service,
notification-service > api-gateway

- Open browser and type _http://localhost:8761_. All services already started

- Type _http://localhost:8003/swagger-ui/index.html_

## Run Project with Docker
- Need only download *docker-compose.prod.yml*
- Run command
```
docker-compose up -d
```
- Containers

## CI/CD
- Pipeline

- Jenkins


- Docker Hub
