Skip to content

bogdanrat/web-server

Repository files navigation

Microservices POC with gRPC & Event-Driven, running in Docker Containers, allowing CRUD operations on files.

Backend Services

  • 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)

Frontend

  • React minimalistic app

Monitoring

  • Prometheus
  • Grafana
  • OpenCensus

Reverse Proxy

  • NGINX

Services Architecture
ServicesArchitecture
AWS Architecture (V1)
AWSArchitecture
AWS Architecture (V2)
AWSArchitecture