Files
goplt/docs/content/stories/epic5/README.md

2.6 KiB

Epic 5: Infrastructure Adapters

Overview

Implement infrastructure adapters (cache, queue, blob storage, email), make adapters swappable via interfaces, add scheduler/background jobs system, and implement event bus (in-process and Kafka).

Stories

5.1 Cache System (Redis)

  • Story: 5.1 - Cache System
  • Goal: Implement a complete Redis-based caching system with a clean interface.
  • Deliverables: Cache interface, Redis implementation, configuration, DI integration

5.2 Event Bus System

  • Story: 5.2 - Event Bus
  • Goal: Implement a complete event bus system supporting both in-process and Kafka.
  • Deliverables: Event bus interface, in-process bus, Kafka bus, core events

5.3 Blob Storage System

  • Story: 5.3 - Blob Storage
  • Goal: Implement a complete blob storage system using S3.
  • Deliverables: Blob storage interface, S3 implementation, file upload API

5.4 Email Notification System

  • Story: 5.4 - Email Notification
  • Goal: Implement a complete email notification system with SMTP support.
  • Deliverables: Notification interface, SMTP implementation, email templates, identity integration

5.5 Scheduler and Background Jobs System

  • Story: 5.5 - Scheduler & Jobs
  • Goal: Implement a complete scheduler and background job system.
  • Deliverables: Scheduler interface, Asynq implementation, job registry, example jobs

5.6 Secret Store Integration

  • Story: 5.6 - Secret Store
  • Goal: Implement secret store integration supporting Vault and AWS Secrets Manager.
  • Deliverables: Secret store interface, Vault implementation, AWS implementation, config integration

5.7 gRPC Service Definitions and Clients

  • Story: 5.7 - gRPC Services
  • Goal: Implement gRPC service definitions and clients to enable microservices communication.
  • Deliverables: gRPC service definitions, gRPC servers, gRPC clients, code generation

Deliverables Checklist

  • Cache adapter (Redis) working
  • Event bus (in-process and Kafka) functional
  • Blob storage (S3) adapter
  • Email notification system
  • Scheduler and background jobs
  • Secret store integration (optional)
  • gRPC service definitions and clients

Acceptance Criteria

  • Cache stores and retrieves data correctly
  • Events are published and consumed
  • Files can be uploaded and downloaded
  • Email notifications are sent
  • Background jobs run on schedule
  • Integration test: full infrastructure stack works