Files
goplt/docs/content/stories/epic8/8.3-additional-modules.md
0x1d 38a251968c docs: Align documentation with true microservices architecture
Transform all documentation from modular monolith to true microservices
architecture where core services are independently deployable.

Key Changes:
- Core Kernel: Infrastructure only (no business logic)
- Core Services: Auth, Identity, Authz, Audit as separate microservices
  - Each service has own entry point (cmd/{service}/)
  - Each service has own gRPC server and database schema
  - Services register with Consul for service discovery
- API Gateway: Moved from Epic 8 to Epic 1 as core infrastructure
  - Single entry point for all external traffic
  - Handles routing, JWT validation, rate limiting, CORS
- Service Discovery: Consul as primary mechanism (ADR-0033)
- Database Pattern: Per-service connections with schema isolation

Documentation Updates:
- Updated all 9 architecture documents
- Updated 4 ADRs and created 2 new ADRs (API Gateway, Service Discovery)
- Rewrote Epic 1: Core Kernel & Infrastructure (infrastructure only)
- Rewrote Epic 2: Core Services (Auth, Identity, Authz, Audit as services)
- Updated Epic 3-8 stories for service architecture
- Updated plan.md, playbook.md, requirements.md, index.md
- Updated all epic READMEs and story files

New ADRs:
- ADR-0032: API Gateway Strategy
- ADR-0033: Service Discovery Implementation (Consul)

New Stories:
- Epic 1.7: Service Client Interfaces
- Epic 1.8: API Gateway Implementation
2025-11-06 08:54:19 +01:00

2.4 KiB

Story 8.3: Additional Sample Feature Services

Metadata

  • Story ID: 8.3
  • Title: Additional Sample Feature Services
  • Epic: 8 - Advanced Features & Polish
  • Status: Pending
  • Priority: Low
  • Estimated Time: 12-15 hours
  • Dependencies: 4.1

Goal

Create additional sample feature services to demonstrate different use cases and patterns. Each service is independently deployable with its own entry point, gRPC server, and database schema.

Description

This story creates additional sample feature services (Notification Service, Analytics Service) to show different service patterns and use cases. Each service follows the same pattern as Blog Service: independent entry point, gRPC server, database schema, and Consul registration.

Deliverables

1. Notification Service

  • Service entry point: cmd/notification-service/main.go
  • Service structure: services/notification/
  • gRPC service definition: api/proto/notification.proto
  • Features:
    • Email templates
    • Notification preferences
    • Notification history
    • gRPC API for sending notifications
  • Database schema: notification schema
  • Service registration with Consul

2. Analytics Service

  • Service entry point: cmd/analytics-service/main.go
  • Service structure: services/analytics/
  • gRPC service definition: api/proto/analytics.proto
  • Features:
    • Event tracking
    • Analytics dashboard API
    • Export functionality
  • Database schema: analytics schema
  • Service registration with Consul
  • Uses Event Bus for event ingestion

Acceptance Criteria

  • Notification Service is independently deployable
  • Analytics Service is independently deployable
  • Each service has its own entry point and gRPC server
  • Services register with Consul
  • Services demonstrate different patterns (event-driven, etc.)
  • Services are well-documented

Files to Create/Modify

  • cmd/notification-service/main.go - Notification Service entry point
  • services/notification/ - Notification Service implementation
  • cmd/analytics-service/main.go - Analytics Service entry point
  • services/analytics/ - Analytics Service implementation