Categorygithub.com/bariis/microservices-demo
module
0.0.0-20211017104247-068b86fe637c
Repository: https://github.com/bariis/microservices-demo.git
Documentation: pkg.go.dev

# README

Microservices Demo

A microservice architecture is consists of services that have single responsibilities and do one thing well and implement a single business capability.

ServiceLanguageDescription
frontendGoExposes an HTTP server to serve the website. Does not require signup/login and generates session IDs for all users automatically.
cartserviceGoStores the items in the user's shopping cart in Redis and retrieves it.
catalogserviceGoProvides the list of products from PostgreSQL searchs products and get individual products.
paymentserviceNode.jsCharges the given credit card info (mock) with the given amount and returns a transaction ID.
shippingserviceGoGives shipping cost estimates based on the shopping cart. Ships items to the given address (mock).
emailserviceGoSends users an order confirmation email (mock).
identityserviceGoGenerates token and sends it to krakend to be signed and make operations on user .
checkoutserviceGoRetrieves user cart, prepares order and plays a role as producer for the payment, shipping and the email services through rabbitmq.
api-gatewayKrakendSits between frontend and backend microservices and handles incoming requests and forward them to necessary services.
[rabbitmq]RabbitMQProvides async. communication between checkout, payment, shipping and email services via fanout exchange.
[user-db]RabbitMQStores user information.
[catalog-db]RabbitMQStores product information.
[redis]RedisCaches users' basket for 3 hours in map inside set structure.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author