Microservices POC with gRPC & Event-Driven, running in Docker Containers, allowing CRUD operations on files.
- Core Service:
- dispatches incoming requests to Auth Service and to Storage Service.
- features a Pub/Sub mechanism with Redis.
- includes a Key-Value Store with Amazon DynamoDB, internally used by an i18n system which reloads key-value pairs when NewKeyValuePairEvent was triggered
- sends welcome emails when UserSignUpEvent was triggered
- Auth Service:
- authorizes access inside the application
- generates JWT Access Tokens & Refresh Tokens and QR Codes if MFA is enabled.
- Storage Service:
- responsible for storing files, either in a local filesystem, or to a configured Amazon S3 Bucket.
- Queue Service:
- a message broker interface, with RabbitMQ and Amazon SQS implementations.
- provides logic for emitting and listening to events (e.g., UserSignUpEvent, NewKeyValuePairEvent)
- React minimalistic app
- Prometheus
- Grafana
- OpenCensus
- NGINX
Services Architecture
AWS Architecture (V1)
AWS Architecture (V2)