This is a sample application that demonstrates a microservice architecture.
The application is composed of the following microservices:
- article-service: Golang application that manages the articles.
- Connected to a MongoDB database.
- GET /healthz
- GET /article/
- POST /article/
- DELETE /article/:articleId/
- Connected to a MongoDB database.
- cart-service: Golang application that manages the shopping cart.
- Connected to a Redis database.
- GET /healthz
- GET /cart/:cartId/
- PUT /cart/:cartId/
- DELETE /cart/:cartId/
- Connected to a Redis database.
- User frontend: Vuejs application that serves as the frontend.
- GET /
- GET /shop
- GET /cart
- Admin frontend: Vuejs application that serves as the admin
frontend.
- GET /
- GET /articles
- GET /about
A docker-compose file is provided at the root of the repository to run the application.
docker-compose up -d
To publish all the container images to the GCP training registry, just run the following commands:
gcloud auth configure-docker europe-west1-docker.pkg.dev
docker-compose -f docker-compose-push.yml build
docker-compose -f docker-compose-push.yml push
In a near future :)