https://github.com/shmelovoleksandr/kdg_backend
Backend client for the "Krystal Distribution Group" logistics application. Personal college project.
https://github.com/shmelovoleksandr/kdg_backend
hexagonal-architecture java microservices rabbitmq rest-api spring-boot
Last synced: 2 months ago
JSON representation
Backend client for the "Krystal Distribution Group" logistics application. Personal college project.
- Host: GitHub
- URL: https://github.com/shmelovoleksandr/kdg_backend
- Owner: ShmelovOleksandr
- Created: 2025-01-23T17:38:56.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-23T20:44:04.000Z (over 1 year ago)
- Last Synced: 2025-01-23T21:28:36.766Z (over 1 year ago)
- Topics: hexagonal-architecture, java, microservices, rabbitmq, rest-api, spring-boot
- Language: Java
- Homepage:
- Size: 251 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Krystal Distribution Group (backend)
## Description
### About
Krystal Distribution Group is a personal project developed for the "Programming 6" course.
The aim was to create a robust and scalable platform for managing port operations.
### Architecture
The project employs a hexagonal architecture and utilizes a microservices approach.
Bounded contexts:
1. **Warehouse**: Manages inventory, storage, and order fulfillment within the warehouse.
2. **Landside**: Oversees all land-based operations, including appointment scheduling, truck arrival/departure coordination, and gate management.
3. **Waterside**: Handles all maritime operations, including ship arrival/departure management.
4. **Invoicing**: (Planned for future implementation)
### Technologies used:
* Spring Boot
* REST API
* RabbitMQ
* Docker
* PostgreSQL
## How to run:
```shell
docker-compose up -d
```
For the initial run, it is recommended to start the services in the following order to ensure proper initialization of RabbitMQ queues:
1. Warehouse
2. Landside
3. Waterside
4. Invoicing