There are three microservices which are Order, User and OrderElastic microservices with using MongoDB and Elasticsearch.
- Web API application
- REST API principles, CRUD operations
- Repository Pattern Implementation
- MongoDB connection and containerization
- Using Echo Framework
- Using Go-playground/Validator and Mongo-Driver
- Using Custom Response, Middleware and Exceptions with Shared Library
- Web API application
- REST API principles, CRUD operations
- Repository Pattern Implementation
- MongoDB connection and containerization
- Using Echo Framework
- Using Go-playground/Validator and Mongo-Driver
- Using Custom Response, Middleware and Exceptions with Shared Library
- Fix job application
- Elasticsearch connection and containerization
- Using Custom Response, Middleware and Exceptions with Shared Library
- Using Confluent-kafka for Kafka Message-Broker system
- Publishing Order Create-Update-Delete event from Order microservices and Subscribing this message from OrderElastic microservices
- Containerization of databases
- Override Environment variables
- Containerization of application with Kubernetes
1. After the cloning this repository run below command at the root directory which include docker-compose.yml files;
docker-compose up -d
2. To create docker image run below command
docker build -t order-user-project/user-api:V01 -f internal/apps/user-api/Dockerfile .
docker build -t order-user-project/order-api:V01 -f internal/apps/order-api/Dockerfile .
docker build -t order-user-project/order-elastic:V01 -f internal/apps/order-elastic/Dockerfile .
3. Run below command to start applications with kubernetes
kubectl apply -f project-deployment.yaml
4. You can launch microservices as below urls:
- Order API -> http://localhost:30011/swagger/index.html
- User API -> http://localhost:30012/swagger/index.html