This project serves as an example of food ordering system using a microservice approach.
Simple REST API for managing users, built using Spring Boot and Kotlin.
~$ cd UserManagementAPI
~$ docker-compose upUser Management API will be avaiable on localhost:8080/api/v1. Access Swagger http://localhost:8080/api/v1/swagger-ui/index.html.
Before running unit tests, ensure that you have a local MongoDB instance running on localhost:27017.
- GET /api/v1/health
- GET /api/v1/users
- GET /api/v1/users/{id}
- PUT /api/v1/users/{id}
- DELETE /api/v1/users/{id}
Simple gRPC API for managing users, built using Quarkus and Kotlin.
~$ cd OrderProcessingAPI
~$ docker-compose upOrder Processing gRPC API will be avaiable on grpc://localhost:9000.
Before running unit tests, ensure that you have a local MongoDB instance running on localhost:27017.
service OrderService {
rpc CreateOrder (Order) returns (Confirmation) {}
rpc GetOrder (GetOrderRequest) returns (Order) {}
rpc UpdateOrder (Order) returns (Confirmation) {}
rpc GetOrdersBySeller (GetOrdersRequest) returns (stream Order) {}
rpc GetOrdersByDeliveryPerson (GetOrdersRequest) returns (stream Order) {}
rpc DeleteOrder (DeleteOrderRequest) returns (Confirmation) {}
rpc Health (Empty) returns (Confirmation) {}
}
Reactive REST api with reactive mongo db
~$ cd RestaurantManagementAPI
~$ docker-compose upRestaurant Management REST API will be avaiable on grpc://localhost:8080.
Before running unit tests, ensure that you have a local MongoDB instance running on localhost:27017.


