feat: reword phase to epic, update mkdocs
This commit is contained in:
@@ -29,11 +29,11 @@ goplt/
|
||||
│ ├── config/ # ConfigProvider interface
|
||||
│ ├── logger/ # Logger interface
|
||||
│ ├── module/ # IModule interface
|
||||
│ ├── auth/ # Auth interfaces (Phase 2)
|
||||
│ ├── perm/ # Permission DSL (Phase 2)
|
||||
│ ├── auth/ # Auth interfaces (Epic 2)
|
||||
│ ├── perm/ # Permission DSL (Epic 2)
|
||||
│ └── infra/ # Infrastructure interfaces
|
||||
├── modules/ # Feature modules
|
||||
│ └── blog/ # Sample module (Phase 4)
|
||||
│ └── blog/ # Sample module (Epic 4)
|
||||
├── config/ # Configuration files
|
||||
│ ├── default.yaml
|
||||
│ ├── development.yaml
|
||||
@@ -75,7 +75,7 @@ goplt/
|
||||
|
||||
### Implementation Notes
|
||||
- Initialize with `go mod init git.dcentral.systems/toolz/goplt`
|
||||
- Create all directories upfront in Phase 0
|
||||
- Create all directories upfront in Epic 0
|
||||
- Document structure in `README.md`
|
||||
- Enforce boundaries via `internal/` package visibility
|
||||
- Use `go build ./...` to verify structure
|
||||
|
||||
@@ -21,7 +21,7 @@ Implement a **channel-based error bus** with pluggable sinks:
|
||||
|
||||
1. **Error bus interface**: `type ErrorPublisher interface { Publish(err error) }`
|
||||
2. **Channel-based implementation**: Background goroutine consumes errors from channel
|
||||
3. **Pluggable sinks**: Logger (always), Sentry (optional, Phase 6)
|
||||
3. **Pluggable sinks**: Logger (always), Sentry (optional, Epic 6)
|
||||
4. **Panic recovery middleware**: Automatically publishes panics to error bus
|
||||
|
||||
**Rationale:**
|
||||
|
||||
@@ -65,16 +65,16 @@ Design the platform as **microservices architecture from day one**:
|
||||
|
||||
## Implementation Strategy
|
||||
|
||||
### Phase 1: Service Client Interfaces (Phase 1)
|
||||
### Epic 1: Service Client Interfaces (Epic 1)
|
||||
- Define service client interfaces for all core services
|
||||
- All inter-service communication goes through interfaces
|
||||
|
||||
### Phase 2: Service Registry (Phase 3)
|
||||
### Epic 2: Service Registry (Epic 3)
|
||||
- Create service registry interface
|
||||
- Implement service discovery
|
||||
- Support for Consul, Kubernetes service discovery
|
||||
|
||||
### Phase 3: gRPC Services (Phase 5)
|
||||
### Epic 3: gRPC Services (Epic 5)
|
||||
- Implement gRPC service definitions
|
||||
- Create gRPC servers for all services
|
||||
- Create gRPC clients for service communication
|
||||
|
||||
@@ -20,7 +20,7 @@ Each ADR follows this structure:
|
||||
|
||||
## ADR Index
|
||||
|
||||
### Phase 0: Project Setup & Foundation
|
||||
### Epic 0: Project Setup & Foundation
|
||||
|
||||
- [ADR-0001: Go Module Path](./0001-go-module-path.md) - Module path: `git.dcentral.systems/toolz/goplt`
|
||||
- [ADR-0002: Go Version](./0002-go-version.md) - Go 1.24.3
|
||||
@@ -35,37 +35,37 @@ Each ADR follows this structure:
|
||||
- [ADR-0011: Code Generation Tools](./0011-code-generation-tools.md) - go generate workflow
|
||||
- [ADR-0012: Logger Interface Design](./0012-logger-interface-design.md) - Logger interface abstraction
|
||||
|
||||
### Phase 1: Core Kernel & Infrastructure
|
||||
### Epic 1: Core Kernel & Infrastructure
|
||||
|
||||
- [ADR-0013: Database ORM Selection](./0013-database-orm.md) - entgo.io/ent
|
||||
- [ADR-0014: Health Check Implementation](./0014-health-check-implementation.md) - Custom health check registry
|
||||
- [ADR-0015: Error Bus Implementation](./0015-error-bus-implementation.md) - Channel-based error bus with pluggable sinks
|
||||
- [ADR-0016: OpenTelemetry Observability Strategy](./0016-opentelemetry-observability.md) - OpenTelemetry for tracing, metrics, logs
|
||||
|
||||
### Phase 2: Authentication & Authorization
|
||||
### Epic 2: Authentication & Authorization
|
||||
|
||||
- [ADR-0017: JWT Token Strategy](./0017-jwt-token-strategy.md) - Short-lived access tokens + long-lived refresh tokens
|
||||
- [ADR-0018: Password Hashing Algorithm](./0018-password-hashing.md) - argon2id
|
||||
- [ADR-0019: Permission DSL Format](./0019-permission-dsl-format.md) - String-based format with code generation
|
||||
- [ADR-0020: Audit Logging Storage](./0020-audit-logging-storage.md) - PostgreSQL append-only table with JSONB metadata
|
||||
|
||||
### Phase 3: Module Framework
|
||||
### Epic 3: Module Framework
|
||||
|
||||
- [ADR-0021: Module Loading Strategy](./0021-module-loading-strategy.md) - Static registration (primary) + dynamic plugin loading (optional)
|
||||
|
||||
### Phase 5: Infrastructure Adapters
|
||||
### Epic 5: Infrastructure Adapters
|
||||
|
||||
- [ADR-0022: Cache Implementation](./0022-cache-implementation.md) - Redis with in-memory fallback
|
||||
- [ADR-0023: Event Bus Implementation](./0023-event-bus-implementation.md) - In-process bus (default) + Kafka (production)
|
||||
- [ADR-0024: Background Job Scheduler](./0024-job-scheduler.md) - asynq (Redis-backed) + cron
|
||||
- [ADR-0025: Multi-tenancy Model](./0025-multitenancy-model.md) - Shared database with tenant_id column (optional)
|
||||
|
||||
### Phase 6: Observability & Production Readiness
|
||||
### Epic 6: Observability & Production Readiness
|
||||
|
||||
- [ADR-0026: Error Reporting Service](./0026-error-reporting-service.md) - Sentry (optional, configurable)
|
||||
- [ADR-0027: Rate Limiting Strategy](./0027-rate-limiting-strategy.md) - Multi-level (per-user + per-IP) with Redis
|
||||
|
||||
### Phase 7: Testing, Documentation & CI/CD
|
||||
### Epic 7: Testing, Documentation & CI/CD
|
||||
|
||||
- [ADR-0028: Testing Strategy](./0028-testing-strategy.md) - Multi-layered (unit, integration, contract, load)
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ Go Platform is a modular, extensible platform designed to support multiple busin
|
||||
|
||||
### 📋 Overview
|
||||
- **[Requirements](requirements.md)**: High-level architectural principles and requirements
|
||||
- **[Implementation Plan](plan.md)**: Phased implementation plan with timelines
|
||||
- **[Implementation Plan](plan.md)**: Epic-based implementation plan with timelines
|
||||
- **[Playbook](playbook.md)**: Detailed implementation guide and best practices
|
||||
|
||||
### 🏛️ Architecture
|
||||
@@ -26,31 +26,31 @@ Go Platform is a modular, extensible platform designed to support multiple busin
|
||||
- **[Component Relationships](component-relationships.md)**: Component interactions and dependencies
|
||||
|
||||
### 🏗️ Architecture Decision Records (ADRs)
|
||||
All architectural decisions are documented in [ADR records](adr/README.md), organized by implementation phase:
|
||||
- **Phase 0**: Project Setup & Foundation
|
||||
- **Phase 1**: Core Kernel & Infrastructure
|
||||
- **Phase 2**: Authentication & Authorization
|
||||
- **Phase 3**: Module Framework
|
||||
- **Phase 5**: Infrastructure Adapters
|
||||
- **Phase 6**: Observability & Production Readiness
|
||||
- **Phase 7**: Testing, Documentation & CI/CD
|
||||
All architectural decisions are documented in [ADR records](adr/README.md), organized by implementation epic:
|
||||
- **Epic 0**: Project Setup & Foundation
|
||||
- **Epic 1**: Core Kernel & Infrastructure
|
||||
- **Epic 2**: Authentication & Authorization
|
||||
- **Epic 3**: Module Framework
|
||||
- **Epic 5**: Infrastructure Adapters
|
||||
- **Epic 6**: Observability & Production Readiness
|
||||
- **Epic 7**: Testing, Documentation & CI/CD
|
||||
|
||||
### 📝 Implementation Tasks
|
||||
Detailed task definitions for each phase are available in the [Stories section](stories/README.md):
|
||||
- Phase 0: Project Setup & Foundation
|
||||
- Phase 1: Core Kernel & Infrastructure
|
||||
- Phase 2: Authentication & Authorization
|
||||
- Phase 3: Module Framework
|
||||
- Phase 4: Sample Feature Module (Blog)
|
||||
- Phase 5: Infrastructure Adapters
|
||||
- Phase 6: Observability & Production Readiness
|
||||
- Phase 7: Testing, Documentation & CI/CD
|
||||
- Phase 8: Advanced Features & Polish (Optional)
|
||||
Detailed task definitions for each epic are available in the [Stories section](stories/README.md):
|
||||
- Epic 0: Project Setup & Foundation
|
||||
- Epic 1: Core Kernel & Infrastructure
|
||||
- Epic 2: Authentication & Authorization
|
||||
- Epic 3: Module Framework
|
||||
- Epic 4: Sample Feature Module (Blog)
|
||||
- Epic 5: Infrastructure Adapters
|
||||
- Epic 6: Observability & Production Readiness
|
||||
- Epic 7: Testing, Documentation & CI/CD
|
||||
- Epic 8: Advanced Features & Polish (Optional)
|
||||
|
||||
## Quick Start
|
||||
|
||||
1. Review the [Requirements](requirements.md) to understand the platform goals
|
||||
2. Check the [Implementation Plan](plan.md) for the phased approach
|
||||
2. Check the [Implementation Plan](plan.md) for the epic-based approach
|
||||
3. Follow the [Playbook](playbook.md) for implementation details
|
||||
4. Refer to [ADRs](adr/README.md) when making architectural decisions
|
||||
5. Use the [Task Stories](stories/README.md) as a checklist for implementation
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
**"Plug‑in‑friendly SaaS/Enterprise Platform – Go Edition"**
|
||||
|
||||
> This document outlines a complete, phased implementation plan for building the Go platform boilerplate based on the requirements from `playbook.md` and `playbook-golang.md`.
|
||||
> This document outlines a complete, epic-based implementation plan for building the Go platform boilerplate based on the requirements from `playbook.md` and `playbook-golang.md`.
|
||||
|
||||
---
|
||||
|
||||
## Executive Summary
|
||||
|
||||
This plan breaks down the implementation into **8 phases**, each with specific deliverables and acceptance criteria. The approach prioritizes building a solid foundation (core kernel) before adding feature modules and advanced capabilities.
|
||||
This plan breaks down the implementation into **8 epics**, each with specific deliverables and acceptance criteria. The approach prioritizes building a solid foundation (core kernel) before adding feature modules and advanced capabilities.
|
||||
|
||||
**Total Estimated Timeline:** 8-12 weeks (depending on team size and parallelization)
|
||||
|
||||
@@ -24,7 +24,7 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
|
||||
---
|
||||
|
||||
## Phase 0: Project Setup & Foundation (Week 1)
|
||||
## Epic 0: Project Setup & Foundation (Week 1)
|
||||
|
||||
### Objectives
|
||||
- Initialize repository structure with proper Go project layout
|
||||
@@ -142,7 +142,7 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
- Loads configuration
|
||||
- Initializes DI container
|
||||
- Sets up basic application lifecycle
|
||||
- Starts minimal HTTP server (placeholder for Phase 1)
|
||||
- Starts minimal HTTP server (placeholder for Epic 1)
|
||||
- Handles graceful shutdown
|
||||
|
||||
**Acceptance Criteria:**
|
||||
@@ -168,7 +168,7 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
|
||||
---
|
||||
|
||||
## Phase 1: Core Kernel & Infrastructure (Week 2-3)
|
||||
## Epic 1: Core Kernel & Infrastructure (Week 2-3)
|
||||
|
||||
### Objectives
|
||||
- Extend DI container to support all core services
|
||||
@@ -274,7 +274,7 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
- Buffered channel for error publishing
|
||||
- Background goroutine consumes errors
|
||||
- Logs all errors with context
|
||||
- Optional: Sentry integration (Phase 6 placeholder)
|
||||
- Optional: Sentry integration (Epic 6 placeholder)
|
||||
- Panic recovery middleware:
|
||||
- Recovers from panics in HTTP handlers
|
||||
- Publishes panics to error bus
|
||||
@@ -394,7 +394,7 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
|
||||
---
|
||||
|
||||
## Phase 2: Authentication & Authorization (Week 3-4)
|
||||
## Epic 2: Authentication & Authorization (Week 3-4)
|
||||
|
||||
### Objectives
|
||||
- Implement complete JWT-based authentication system
|
||||
@@ -465,7 +465,7 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
- `POST /api/v1/users/verify-email` - Verify email with token
|
||||
- `POST /api/v1/users/reset-password` - Request password reset
|
||||
- `POST /api/v1/users/change-password` - Change password
|
||||
- Integration with email notification system (Phase 5)
|
||||
- Integration with email notification system (Epic 5)
|
||||
|
||||
**Acceptance Criteria:**
|
||||
- Users can register with email and password
|
||||
@@ -620,7 +620,7 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
|
||||
---
|
||||
|
||||
## Phase 3: Module Framework (Week 4-5)
|
||||
## Epic 3: Module Framework (Week 4-5)
|
||||
|
||||
### Objectives
|
||||
- Design and implement complete module system interface
|
||||
@@ -773,7 +773,7 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
|
||||
---
|
||||
|
||||
## Phase 4: Sample Feature Module (Blog) (Week 5-6)
|
||||
## Epic 4: Sample Feature Module (Blog) (Week 5-6)
|
||||
|
||||
### Objectives
|
||||
- Create a complete sample module (Blog) to demonstrate the framework
|
||||
@@ -953,7 +953,7 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
|
||||
---
|
||||
|
||||
## Phase 5: Infrastructure Adapters (Week 6-7)
|
||||
## Epic 5: Infrastructure Adapters (Week 6-7)
|
||||
|
||||
### Objectives
|
||||
- Implement infrastructure adapters (cache, queue, blob storage, email)
|
||||
@@ -1125,7 +1125,7 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
|
||||
---
|
||||
|
||||
## Phase 6: Observability & Production Readiness (Week 7-8)
|
||||
## Epic 6: Observability & Production Readiness (Week 7-8)
|
||||
|
||||
### Objectives
|
||||
- Enhance observability with full OpenTelemetry integration
|
||||
@@ -1267,7 +1267,7 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
|
||||
---
|
||||
|
||||
## Phase 7: Testing, Documentation & CI/CD (Week 8-9)
|
||||
## Epic 7: Testing, Documentation & CI/CD (Week 8-9)
|
||||
|
||||
### Objectives
|
||||
- Comprehensive test coverage (unit, integration, contract)
|
||||
@@ -1446,7 +1446,7 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
|
||||
---
|
||||
|
||||
## Phase 8: Advanced Features & Polish (Week 9-10, Optional)
|
||||
## Epic 8: Advanced Features & Polish (Week 9-10, Optional)
|
||||
|
||||
### Objectives
|
||||
- Add advanced features (OIDC, GraphQL, API Gateway)
|
||||
@@ -1528,14 +1528,14 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
|
||||
## Implementation Checklist Summary
|
||||
|
||||
### Phase 0: Setup ✅
|
||||
### Epic 0: Setup ✅
|
||||
- [ ] Repository structure
|
||||
- [ ] Configuration system
|
||||
- [ ] Logging foundation
|
||||
- [ ] Basic CI/CD
|
||||
- [ ] DI setup
|
||||
|
||||
### Phase 1: Core Kernel ✅
|
||||
### Epic 1: Core Kernel ✅
|
||||
- [ ] DI container
|
||||
- [ ] Database (Ent)
|
||||
- [ ] Health & metrics
|
||||
@@ -1543,28 +1543,28 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
- [ ] HTTP server
|
||||
- [ ] OpenTelemetry
|
||||
|
||||
### Phase 2: Auth & Authorization ✅
|
||||
### Epic 2: Auth & Authorization ✅
|
||||
- [ ] JWT authentication
|
||||
- [ ] Identity management
|
||||
- [ ] Roles & permissions
|
||||
- [ ] Authorization middleware
|
||||
- [ ] Audit logging
|
||||
|
||||
### Phase 3: Module Framework ✅
|
||||
### Epic 3: Module Framework ✅
|
||||
- [ ] Module interface
|
||||
- [ ] Static registry
|
||||
- [ ] Permission generation
|
||||
- [ ] Module loader
|
||||
- [ ] Module initialization
|
||||
|
||||
### Phase 4: Sample Module (Blog) ✅
|
||||
### Epic 4: Sample Module (Blog) ✅
|
||||
- [ ] Blog module structure
|
||||
- [ ] Domain model
|
||||
- [ ] Repository & service
|
||||
- [ ] API handlers
|
||||
- [ ] Integration tests
|
||||
|
||||
### Phase 5: Infrastructure ✅
|
||||
### Epic 5: Infrastructure ✅
|
||||
- [ ] Cache (Redis)
|
||||
- [ ] Event bus
|
||||
- [ ] Blob storage
|
||||
@@ -1572,7 +1572,7 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
- [ ] Scheduler/jobs
|
||||
- [ ] Multi-tenancy (optional)
|
||||
|
||||
### Phase 6: Observability ✅
|
||||
### Epic 6: Observability ✅
|
||||
- [ ] OpenTelemetry
|
||||
- [ ] Sentry integration
|
||||
- [ ] Enhanced logging
|
||||
@@ -1581,7 +1581,7 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
- [ ] Rate limiting
|
||||
- [ ] Security hardening
|
||||
|
||||
### Phase 7: Testing & Docs ✅
|
||||
### Epic 7: Testing & Docs ✅
|
||||
- [ ] Unit tests (>80% coverage)
|
||||
- [ ] Integration tests
|
||||
- [ ] Documentation
|
||||
@@ -1589,7 +1589,7 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
- [ ] Docker images
|
||||
- [ ] Deployment guides
|
||||
|
||||
### Phase 8: Advanced Features (Optional) ✅
|
||||
### Epic 8: Advanced Features (Optional) ✅
|
||||
- [ ] OIDC support
|
||||
- [ ] GraphQL API
|
||||
- [ ] Additional modules
|
||||
@@ -1606,15 +1606,15 @@ This plan breaks down the implementation into **8 phases**, each with specific d
|
||||
| **Circular import issues** | High | Strict separation: interfaces in `pkg/`, implementations in `internal/` |
|
||||
| **Plugin version mismatch** | Medium | Prefer static registration; document version requirements |
|
||||
| **Database migration conflicts** | Medium | Central migration orchestrator, dependency ordering |
|
||||
| **Performance bottlenecks** | Low | Load testing in Phase 7, profiling, caching strategy |
|
||||
| **Performance bottlenecks** | Low | Load testing in Epic 7, profiling, caching strategy |
|
||||
| **Security vulnerabilities** | High | Security audit, gosec scanning, input validation |
|
||||
|
||||
### Process Risks
|
||||
|
||||
| Risk | Impact | Mitigation |
|
||||
|------|--------|------------|
|
||||
| **Scope creep** | Medium | Stick to phased approach, defer optional features to Phase 8 |
|
||||
| **Incomplete documentation** | Medium | Documentation as part of each phase, not afterthought |
|
||||
| **Scope creep** | Medium | Stick to epic-based approach, defer optional features to Epic 8 |
|
||||
| **Incomplete documentation** | Medium | Documentation as part of each epic, not afterthought |
|
||||
| **Testing gaps** | High | Test coverage requirements, integration tests early |
|
||||
|
||||
---
|
||||
|
||||
@@ -1,46 +1,46 @@
|
||||
# Complete Task List
|
||||
|
||||
This document provides a comprehensive list of all tasks across all phases. Each task has a corresponding detailed file in the phase-specific directories.
|
||||
This document provides a comprehensive list of all tasks across all epics. Each task has a corresponding detailed file in the epic-specific directories.
|
||||
|
||||
## Task Organization
|
||||
|
||||
Tasks are organized by phase and section. Each task file follows the naming convention: `{section}.{subtask}-{description}.md`
|
||||
Tasks are organized by epic and section. Each task file follows the naming convention: `{section}.{subtask}-{description}.md`
|
||||
|
||||
## Phase 0: Project Setup & Foundation
|
||||
## Epic 0: Project Setup & Foundation
|
||||
|
||||
### 0.1 Repository Bootstrap
|
||||
- [0.1.1 - Initialize Go Module](./phase0/0.1.1-initialize-go-module.md)
|
||||
- [0.1.2 - Create Directory Structure](./phase0/0.1.2-create-directory-structure.md)
|
||||
- [0.1.3 - Add Gitignore](./phase0/0.1.3-add-gitignore.md)
|
||||
- [0.1.4 - Create Initial README](./phase0/0.1.4-create-initial-readme.md)
|
||||
- [0.1.1 - Initialize Go Module](./epic0/0.1.1-initialize-go-module.md)
|
||||
- [0.1.2 - Create Directory Structure](./epic0/0.1.2-create-directory-structure.md)
|
||||
- [0.1.3 - Add Gitignore](./epic0/0.1.3-add-gitignore.md)
|
||||
- [0.1.4 - Create Initial README](./epic0/0.1.4-create-initial-readme.md)
|
||||
|
||||
### 0.2 Configuration System
|
||||
- [0.2.1 - Install Configuration Dependencies](./phase0/0.2.1-install-config-dependencies.md)
|
||||
- [0.2.2 - Create Config Interface](./phase0/0.2.2-create-config-interface.md)
|
||||
- [0.2.3 - Implement Config Loader](./phase0/0.2.3-implement-config-loader.md)
|
||||
- [0.2.4 - Create Configuration Files](./phase0/0.2.4-create-configuration-files.md)
|
||||
- [0.2.1 - Install Configuration Dependencies](./epic0/0.2.1-install-config-dependencies.md)
|
||||
- [0.2.2 - Create Config Interface](./epic0/0.2.2-create-config-interface.md)
|
||||
- [0.2.3 - Implement Config Loader](./epic0/0.2.3-implement-config-loader.md)
|
||||
- [0.2.4 - Create Configuration Files](./epic0/0.2.4-create-configuration-files.md)
|
||||
|
||||
### 0.3 Logging Foundation
|
||||
- [0.3.1 - Install Logging Dependencies](./phase0/0.3.1-install-logging-dependencies.md)
|
||||
- See [Phase 0 README](./phase0/README.md) for remaining tasks
|
||||
- [0.3.1 - Install Logging Dependencies](./epic0/0.3.1-install-logging-dependencies.md)
|
||||
- See [Epic 0 README](./epic0/README.md) for remaining tasks
|
||||
|
||||
### 0.4 Basic CI/CD Pipeline
|
||||
- See [Phase 0 README](./phase0/README.md) for tasks
|
||||
- See [Epic 0 README](./epic0/README.md) for tasks
|
||||
|
||||
### 0.5 Dependency Injection Setup
|
||||
- See [Phase 0 README](./phase0/README.md) for tasks
|
||||
- See [Epic 0 README](./epic0/README.md) for tasks
|
||||
|
||||
## Phase 1-8 Tasks
|
||||
## Epic 1-8 Tasks
|
||||
|
||||
Detailed task files for Phases 1-8 are being created. See individual phase README files:
|
||||
- [Phase 1 README](./phase1/README.md) - Core Kernel & Infrastructure
|
||||
- [Phase 2 README](./phase2/README.md) - Authentication & Authorization
|
||||
- [Phase 3 README](./phase3/README.md) - Module Framework
|
||||
- [Phase 4 README](./phase4/README.md) - Sample Feature Module (Blog)
|
||||
- [Phase 5 README](./phase5/README.md) - Infrastructure Adapters
|
||||
- [Phase 6 README](./phase6/README.md) - Observability & Production Readiness
|
||||
- [Phase 7 README](./phase7/README.md) - Testing, Documentation & CI/CD
|
||||
- [Phase 8 README](./phase8/README.md) - Advanced Features & Polish
|
||||
Detailed task files for Epics 1-8 are being created. See individual epic README files:
|
||||
- [Epic 1 README](./epic1/README.md) - Core Kernel & Infrastructure
|
||||
- [Epic 2 README](./epic2/README.md) - Authentication & Authorization
|
||||
- [Epic 3 README](./epic3/README.md) - Module Framework
|
||||
- [Epic 4 README](./epic4/README.md) - Sample Feature Module (Blog)
|
||||
- [Epic 5 README](./epic5/README.md) - Infrastructure Adapters
|
||||
- [Epic 6 README](./epic6/README.md) - Observability & Production Readiness
|
||||
- [Epic 7 README](./epic7/README.md) - Testing, Documentation & CI/CD
|
||||
- [Epic 8 README](./epic8/README.md) - Advanced Features & Polish
|
||||
|
||||
## Task Status Tracking
|
||||
|
||||
|
||||
@@ -1,44 +1,44 @@
|
||||
# Implementation Tasks
|
||||
|
||||
This directory contains detailed task definitions for each phase of the Go Platform implementation.
|
||||
This directory contains detailed task definitions for each epic of the Go Platform implementation.
|
||||
|
||||
## Task Organization
|
||||
|
||||
Tasks are organized by phase, with each major task section having its own detailed file:
|
||||
Tasks are organized by epic, with each major task section having its own detailed file:
|
||||
|
||||
### Phase 0: Project Setup & Foundation
|
||||
- [Phase 0 Tasks](./phase0/README.md) - All Phase 0 tasks
|
||||
### Epic 0: Project Setup & Foundation
|
||||
- [Epic 0 Tasks](./epic0/README.md) - All Epic 0 tasks
|
||||
|
||||
### Phase 1: Core Kernel & Infrastructure
|
||||
- [Phase 1 Tasks](./phase1/README.md) - All Phase 1 tasks
|
||||
### Epic 1: Core Kernel & Infrastructure
|
||||
- [Epic 1 Tasks](./epic1/README.md) - All Epic 1 tasks
|
||||
|
||||
### Phase 2: Authentication & Authorization
|
||||
- [Phase 2 Tasks](./phase2/README.md) - All Phase 2 tasks
|
||||
### Epic 2: Authentication & Authorization
|
||||
- [Epic 2 Tasks](./epic2/README.md) - All Epic 2 tasks
|
||||
|
||||
### Phase 3: Module Framework
|
||||
- [Phase 3 Tasks](./phase3/README.md) - All Phase 3 tasks
|
||||
### Epic 3: Module Framework
|
||||
- [Epic 3 Tasks](./epic3/README.md) - All Epic 3 tasks
|
||||
|
||||
### Phase 4: Sample Feature Module (Blog)
|
||||
- [Phase 4 Tasks](./phase4/README.md) - All Phase 4 tasks
|
||||
### Epic 4: Sample Feature Module (Blog)
|
||||
- [Epic 4 Tasks](./epic4/README.md) - All Epic 4 tasks
|
||||
|
||||
### Phase 5: Infrastructure Adapters
|
||||
- [Phase 5 Tasks](./phase5/README.md) - All Phase 5 tasks
|
||||
### Epic 5: Infrastructure Adapters
|
||||
- [Epic 5 Tasks](./epic5/README.md) - All Epic 5 tasks
|
||||
|
||||
### Phase 6: Observability & Production Readiness
|
||||
- [Phase 6 Tasks](./phase6/README.md) - All Phase 6 tasks
|
||||
### Epic 6: Observability & Production Readiness
|
||||
- [Epic 6 Tasks](./epic6/README.md) - All Epic 6 tasks
|
||||
|
||||
### Phase 7: Testing, Documentation & CI/CD
|
||||
- [Phase 7 Tasks](./phase7/README.md) - All Phase 7 tasks
|
||||
### Epic 7: Testing, Documentation & CI/CD
|
||||
- [Epic 7 Tasks](./epic7/README.md) - All Epic 7 tasks
|
||||
|
||||
### Phase 8: Advanced Features & Polish (Optional)
|
||||
- [Phase 8 Tasks](./phase8/README.md) - All Phase 8 tasks
|
||||
### Epic 8: Advanced Features & Polish (Optional)
|
||||
- [Epic 8 Tasks](./epic8/README.md) - All Epic 8 tasks
|
||||
|
||||
## Task Status
|
||||
|
||||
Each task file includes:
|
||||
- **Task ID**: Unique identifier (e.g., `0.1.1`)
|
||||
- **Title**: Descriptive task name
|
||||
- **Phase**: Implementation phase
|
||||
- **Epic**: Implementation epic
|
||||
- **Status**: Pending | In Progress | Completed | Blocked
|
||||
- **Priority**: High | Medium | Low
|
||||
- **Dependencies**: Tasks that must complete first
|
||||
@@ -57,7 +57,7 @@ Tasks can be tracked using:
|
||||
|
||||
## Task Naming Convention
|
||||
|
||||
Tasks follow the format: `{phase}.{section}.{subtask}`
|
||||
Tasks follow the format: `{epic}.{section}.{subtask}`
|
||||
|
||||
Example: `0.1.1` = Phase 0, Section 1 (Repository Bootstrap), Subtask 1
|
||||
Example: `0.1.1` = Epic 0, Section 1 (Repository Bootstrap), Subtask 1
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ Each consolidated story follows this structure:
|
||||
4. **Acceptance Criteria** - How we know it's done
|
||||
5. **Implementation Steps** - High-level steps (not micro-tasks)
|
||||
|
||||
## Phase 0 - Completed Examples
|
||||
## Epic 0 - Completed Examples
|
||||
|
||||
### 0.1 Project Initialization and Repository Structure
|
||||
**Consolidates:** Go module init, directory structure, .gitignore, README
|
||||
@@ -43,17 +43,18 @@ Each consolidated story follows this structure:
|
||||
### 0.5 DI and Application Bootstrap
|
||||
**Consolidates:** Install FX, create DI container, create main.go
|
||||
|
||||
## Remaining Phases - Consolidation Pattern
|
||||
## Remaining Epics - Consolidation Pattern
|
||||
|
||||
### Phase 1: Core Kernel
|
||||
### Epic 1: Core Kernel
|
||||
- **1.1 Enhanced DI Container** - All DI providers and extensions
|
||||
- **1.2 Database Layer** - Complete Ent setup with entities and migrations
|
||||
- **1.3 Health & Metrics** - Complete monitoring system
|
||||
- **1.4 Error Handling** - Complete error bus system
|
||||
- **1.5 HTTP Server** - Complete server with all middleware
|
||||
- **1.6 OpenTelemetry** - Complete tracing setup
|
||||
- **1.7 Service Client Interfaces** - Complete service abstraction layer
|
||||
|
||||
### Phase 2: Authentication & Authorization
|
||||
### Epic 2: Authentication & Authorization
|
||||
- **2.1 JWT Authentication System** - Complete auth with tokens
|
||||
- **2.2 Identity Management** - Complete user lifecycle
|
||||
- **2.3 RBAC System** - Complete permission system
|
||||
@@ -61,25 +62,26 @@ Each consolidated story follows this structure:
|
||||
- **2.5 Audit Logging** - Complete audit system
|
||||
- **2.6 Database Seeding** - Complete seeding system
|
||||
|
||||
### Phase 3: Module Framework
|
||||
### Epic 3: Module Framework
|
||||
- **3.1 Module Interface & Registry** - Complete module system
|
||||
- **3.2 Permission Code Generation** - Complete code gen system
|
||||
- **3.3 Module Loader** - Complete loading and initialization
|
||||
- **3.4 Module CLI** - Complete CLI tool
|
||||
- **3.5 Service Registry** - Complete service discovery
|
||||
|
||||
### Phase 4: Sample Blog Module
|
||||
### Epic 4: Sample Blog Module
|
||||
- **4.1 Complete Blog Module** - Full module with CRUD, permissions, API
|
||||
|
||||
### Phase 5: Infrastructure Adapters
|
||||
### Epic 5: Infrastructure Adapters
|
||||
- **5.1 Cache System** - Complete Redis cache
|
||||
- **5.2 Event Bus** - Complete event system
|
||||
- **5.3 Blob Storage** - Complete S3 storage
|
||||
- **5.4 Email Notification** - Complete email system
|
||||
- **5.5 Scheduler & Jobs** - Complete job system
|
||||
- **5.6 Secret Store** - Complete secret management
|
||||
- **5.7 Multi-tenancy** - Complete tenant support
|
||||
- **5.7 gRPC Services** - Complete gRPC service definitions and clients
|
||||
|
||||
### Phase 6: Observability
|
||||
### Epic 6: Observability
|
||||
- **6.1 Enhanced OpenTelemetry** - Complete tracing
|
||||
- **6.2 Error Reporting** - Complete Sentry integration
|
||||
- **6.3 Enhanced Logging** - Complete log correlation
|
||||
@@ -89,14 +91,14 @@ Each consolidated story follows this structure:
|
||||
- **6.7 Security Hardening** - Complete security
|
||||
- **6.8 Performance Optimization** - Complete optimizations
|
||||
|
||||
### Phase 7: Testing & Documentation
|
||||
### Epic 7: Testing & Documentation
|
||||
- **7.1 Unit Testing** - Complete test suite
|
||||
- **7.2 Integration Testing** - Complete integration tests
|
||||
- **7.3 Documentation** - Complete docs
|
||||
- **7.4 CI/CD Enhancement** - Complete pipeline
|
||||
- **7.5 Docker & Deployment** - Complete deployment setup
|
||||
|
||||
### Phase 8: Advanced Features
|
||||
### Epic 8: Advanced Features
|
||||
- **8.1 OIDC Support** - Complete OIDC
|
||||
- **8.2 GraphQL API** - Complete GraphQL
|
||||
- **8.3 Additional Modules** - Complete sample modules
|
||||
@@ -104,7 +106,7 @@ Each consolidated story follows this structure:
|
||||
|
||||
## Creating New Story Files
|
||||
|
||||
When creating story files for remaining phases, follow this template:
|
||||
When creating story files for remaining epics, follow this template:
|
||||
|
||||
```markdown
|
||||
# Story X.Y: [Meaningful Title]
|
||||
@@ -112,7 +114,7 @@ When creating story files for remaining phases, follow this template:
|
||||
## Metadata
|
||||
- **Story ID**: X.Y
|
||||
- **Title**: [Complete Feature Name]
|
||||
- **Phase**: X - [Phase Name]
|
||||
- **Epic**: X - [Epic Name]
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: [hours]
|
||||
@@ -164,9 +166,9 @@ When creating story files for remaining phases, follow this template:
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. Update remaining phase README files to reference consolidated stories
|
||||
2. Create story files for remaining phases following the pattern
|
||||
3. Update plan.md to complete all phases with story-based structure
|
||||
1. Update remaining epic README files to reference consolidated stories
|
||||
2. Create story files for remaining epics following the pattern
|
||||
3. Update plan.md to complete all epics with story-based structure
|
||||
4. Remove old granular task files (or archive them)
|
||||
|
||||
## Benefits of This Approach
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 0.1
|
||||
- **Title**: Project Initialization and Repository Structure
|
||||
- **Phase**: 0 - Project Setup & Foundation
|
||||
- **Epic**: 0 - Project Setup & Foundation
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 2-3 hours
|
||||
@@ -44,7 +44,7 @@ platform/
|
||||
│ ├── perm/ # Permission DSL
|
||||
│ └── infra/ # Infrastructure interfaces
|
||||
├── modules/ # Feature modules
|
||||
│ └── blog/ # Sample Blog module (Phase 4)
|
||||
│ └── blog/ # Sample Blog module (Epic 4)
|
||||
├── config/ # Configuration files
|
||||
│ ├── default.yaml
|
||||
│ ├── development.yaml
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 0.2
|
||||
- **Title**: Configuration Management System
|
||||
- **Phase**: 0 - Project Setup & Foundation
|
||||
- **Epic**: 0 - Project Setup & Foundation
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 4-6 hours
|
||||
@@ -145,7 +145,7 @@ logging:
|
||||
- Consider adding configuration schema validation in future
|
||||
- Environment variable format: `SERVER_PORT`, `DATABASE_DSN`, etc.
|
||||
- Configuration files should be in YAML for readability
|
||||
- Support secret manager integration placeholder (Phase 6)
|
||||
- Support secret manager integration placeholder (Epic 6)
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 0.3
|
||||
- **Title**: Structured Logging System
|
||||
- **Phase**: 0 - Project Setup & Foundation
|
||||
- **Epic**: 0 - Project Setup & Foundation
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 4-6 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 0.4
|
||||
- **Title**: CI/CD Pipeline and Development Tooling
|
||||
- **Phase**: 0 - Project Setup & Foundation
|
||||
- **Epic**: 0 - Project Setup & Foundation
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 3-4 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 0.5
|
||||
- **Title**: Dependency Injection and Application Bootstrap
|
||||
- **Phase**: 0 - Project Setup & Foundation
|
||||
- **Epic**: 0 - Project Setup & Foundation
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 4-5 hours
|
||||
@@ -36,7 +36,7 @@ Main application bootstrap:
|
||||
- Load configuration
|
||||
- Initialize DI container with core services
|
||||
- Set up basic application lifecycle
|
||||
- Start minimal HTTP server (placeholder for Phase 1)
|
||||
- Start minimal HTTP server (placeholder for Epic 1)
|
||||
- Handle graceful shutdown (SIGINT, SIGTERM)
|
||||
- Proper error handling and logging
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Phase 0: Project Setup & Foundation
|
||||
# Epic 0: Project Setup & Foundation
|
||||
|
||||
## Overview
|
||||
Initialize repository structure with proper Go project layout, implement configuration management system, establish structured logging system, set up CI/CD pipeline and development tooling, and bootstrap dependency injection and application entry point.
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 1.1
|
||||
- **Title**: Enhanced Dependency Injection Container
|
||||
- **Phase**: 1 - Core Kernel & Infrastructure
|
||||
- **Epic**: 1 - Core Kernel & Infrastructure
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 3-4 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 1.2
|
||||
- **Title**: Database Layer with Ent ORM
|
||||
- **Phase**: 1 - Core Kernel & Infrastructure
|
||||
- **Epic**: 1 - Core Kernel & Infrastructure
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 6-8 hours
|
||||
@@ -116,7 +116,7 @@ Define core entities:
|
||||
- Run migrations on application startup
|
||||
- Add proper indexes for performance
|
||||
- Handle database connection errors gracefully
|
||||
- Support for database migrations in future phases
|
||||
- Support for database migrations in future epics
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 1.3
|
||||
- **Title**: Health Monitoring and Metrics System
|
||||
- **Phase**: 1 - Core Kernel & Infrastructure
|
||||
- **Epic**: 1 - Core Kernel & Infrastructure
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 5-6 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 1.4
|
||||
- **Title**: Error Handling and Error Bus
|
||||
- **Phase**: 1 - Core Kernel & Infrastructure
|
||||
- **Epic**: 1 - Core Kernel & Infrastructure
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 4-5 hours
|
||||
@@ -27,7 +27,7 @@ This story creates a complete error handling system with an error bus that captu
|
||||
- Background goroutine consumes errors
|
||||
- Logs all errors with context (request ID, user ID, etc.)
|
||||
- Error aggregation
|
||||
- Optional: Sentry integration placeholder (Phase 6)
|
||||
- Optional: Sentry integration placeholder (Epic 6)
|
||||
|
||||
### 3. Panic Recovery Middleware
|
||||
- Recovers from panics in HTTP handlers
|
||||
@@ -84,7 +84,7 @@ This story creates a complete error handling system with an error bus that captu
|
||||
- Background goroutine should handle errors asynchronously
|
||||
- Preserve error context (stack traces, request IDs)
|
||||
- Consider error rate limiting in future
|
||||
- Placeholder for Sentry integration in Phase 6
|
||||
- Placeholder for Sentry integration in Epic 6
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 1.5
|
||||
- **Title**: HTTP Server Foundation with Middleware Stack
|
||||
- **Phase**: 1 - Core Kernel & Infrastructure
|
||||
- **Epic**: 1 - Core Kernel & Infrastructure
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 6-8 hours
|
||||
@@ -98,7 +98,7 @@ This story implements a complete HTTP server using Gin with a comprehensive midd
|
||||
- Middleware order is important
|
||||
- Support graceful shutdown with connection draining
|
||||
- CORS should be configurable per environment
|
||||
- Consider adding rate limiting in future (Phase 6)
|
||||
- Consider adding rate limiting in future (Epic 6)
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 1.6
|
||||
- **Title**: OpenTelemetry Distributed Tracing
|
||||
- **Phase**: 1 - Core Kernel & Infrastructure
|
||||
- **Epic**: 1 - Core Kernel & Infrastructure
|
||||
- **Status**: Pending
|
||||
- **Priority**: Medium
|
||||
- **Estimated Time**: 5-6 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 1.7
|
||||
- **Title**: Service Client Interfaces
|
||||
- **Phase**: 1 - Core Kernel & Infrastructure
|
||||
- **Epic**: 1 - Core Kernel & Infrastructure
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 4-6 hours
|
||||
@@ -93,7 +93,7 @@ Factory pattern for creating service clients:
|
||||
- Use context for all operations
|
||||
- Support cancellation and timeouts
|
||||
- Design for network calls (retries, circuit breakers)
|
||||
- gRPC will be implemented in Phase 5, but interfaces are defined here
|
||||
- gRPC will be implemented in Epic 5, but interfaces are defined here
|
||||
|
||||
## Testing
|
||||
```bash
|
||||
@@ -1,4 +1,4 @@
|
||||
# Phase 1: Core Kernel & Infrastructure
|
||||
# Epic 1: Core Kernel & Infrastructure
|
||||
|
||||
## Overview
|
||||
Extend DI container to support all core services, implement database layer with Ent ORM, build health monitoring and metrics system, create error handling and error bus, establish HTTP server with comprehensive middleware stack, and integrate OpenTelemetry for distributed tracing.
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 2.1
|
||||
- **Title**: JWT Authentication System
|
||||
- **Phase**: 2 - Authentication & Authorization
|
||||
- **Epic**: 2 - Authentication & Authorization
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 6-8 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 2.2
|
||||
- **Title**: Identity Management System
|
||||
- **Phase**: 2 - Authentication & Authorization
|
||||
- **Epic**: 2 - Authentication & Authorization
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 8-10 hours
|
||||
@@ -53,7 +53,7 @@ This story implements the complete user identity management system including use
|
||||
- Service registration in service registry
|
||||
|
||||
### 6. Integration
|
||||
- Integration with email notification system (Phase 5 placeholder)
|
||||
- Integration with email notification system (Epic 5 placeholder)
|
||||
- Integration with audit logging
|
||||
- Integration with authentication system
|
||||
- Identity service is an independent service that can be deployed separately
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 2.3
|
||||
- **Title**: Role-Based Access Control (RBAC) System
|
||||
- **Phase**: 2 - Authentication & Authorization
|
||||
- **Epic**: 2 - Authentication & Authorization
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 6-8 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 2.4
|
||||
- **Title**: Role Management API
|
||||
- **Phase**: 2 - Authentication & Authorization
|
||||
- **Epic**: 2 - Authentication & Authorization
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 5-6 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 2.5
|
||||
- **Title**: Audit Logging System
|
||||
- **Phase**: 2 - Authentication & Authorization
|
||||
- **Epic**: 2 - Authentication & Authorization
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 5-6 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 2.6
|
||||
- **Title**: Database Seeding and Initialization
|
||||
- **Phase**: 2 - Authentication & Authorization
|
||||
- **Epic**: 2 - Authentication & Authorization
|
||||
- **Status**: Pending
|
||||
- **Priority**: Medium
|
||||
- **Estimated Time**: 3-4 hours
|
||||
@@ -1,4 +1,4 @@
|
||||
# Phase 2: Authentication & Authorization
|
||||
# Epic 2: Authentication & Authorization
|
||||
|
||||
## Overview
|
||||
Implement complete JWT-based authentication system, build comprehensive identity management with user lifecycle, create role-based access control (RBAC) system, implement authorization middleware and permission checks, add comprehensive audit logging for security compliance, and provide database seeding for initial setup. All core services (Auth, Identity, Authz, Audit) are independent microservices that expose gRPC servers and register with the service registry.
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 3.1
|
||||
- **Title**: Module System Interface and Registry
|
||||
- **Phase**: 3 - Module Framework
|
||||
- **Epic**: 3 - Module Framework
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 5-6 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 3.2
|
||||
- **Title**: Permission Code Generation System
|
||||
- **Phase**: 3 - Module Framework
|
||||
- **Epic**: 3 - Module Framework
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 4-5 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 3.3
|
||||
- **Title**: Module Loader and Initialization
|
||||
- **Phase**: 3 - Module Framework
|
||||
- **Epic**: 3 - Module Framework
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 6-8 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 3.4
|
||||
- **Title**: Module Management CLI Tool
|
||||
- **Phase**: 3 - Module Framework
|
||||
- **Epic**: 3 - Module Framework
|
||||
- **Status**: Pending
|
||||
- **Priority**: Medium
|
||||
- **Estimated Time**: 4-5 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 3.5
|
||||
- **Title**: Service Registry and Discovery
|
||||
- **Phase**: 3 - Module Framework
|
||||
- **Epic**: 3 - Module Framework
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 5-6 hours
|
||||
@@ -1,4 +1,4 @@
|
||||
# Phase 3: Module Framework
|
||||
# Epic 3: Module Framework
|
||||
|
||||
## Overview
|
||||
Design and implement complete module system interface, build module registry with dependency resolution, create permission code generation from module manifests, implement module loader supporting static and dynamic loading, add module lifecycle management and initialization, and provide CLI tooling for module management.
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 4.1
|
||||
- **Title**: Complete Blog Module
|
||||
- **Phase**: 4 - Sample Feature Module (Blog)
|
||||
- **Epic**: 4 - Sample Feature Module (Blog)
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 10-12 hours
|
||||
@@ -1,4 +1,4 @@
|
||||
# Phase 4: Sample Feature Module (Blog)
|
||||
# Epic 4: Sample Feature Module (Blog)
|
||||
|
||||
## Overview
|
||||
Create a complete sample module (Blog) to demonstrate the framework, showing how to add routes, permissions, database entities, and services. The Blog module is an independent service that uses service clients to communicate with core services. Provide reference implementation for future developers.
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 5.1
|
||||
- **Title**: Cache System (Redis)
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Epic**: 5 - Infrastructure Adapters
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 4-5 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 5.2
|
||||
- **Title**: Event Bus System
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Epic**: 5 - Infrastructure Adapters
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 6-8 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 5.3
|
||||
- **Title**: Blob Storage System
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Epic**: 5 - Infrastructure Adapters
|
||||
- **Status**: Pending
|
||||
- **Priority**: Medium
|
||||
- **Estimated Time**: 5-6 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 5.4
|
||||
- **Title**: Email Notification System
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Epic**: 5 - Infrastructure Adapters
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 5-6 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 5.5
|
||||
- **Title**: Scheduler and Background Jobs System
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Epic**: 5 - Infrastructure Adapters
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 6-8 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 5.6
|
||||
- **Title**: Secret Store Integration
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Epic**: 5 - Infrastructure Adapters
|
||||
- **Status**: Pending
|
||||
- **Priority**: Medium
|
||||
- **Estimated Time**: 4-5 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 5.7
|
||||
- **Title**: gRPC Service Definitions and Clients
|
||||
- **Phase**: 5 - Infrastructure Adapters
|
||||
- **Epic**: 5 - Infrastructure Adapters
|
||||
- **Status**: Pending
|
||||
- **Priority**: Medium
|
||||
- **Estimated Time**: 8-10 hours
|
||||
@@ -1,4 +1,4 @@
|
||||
# Phase 5: Infrastructure Adapters
|
||||
# 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).
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 6.1
|
||||
- **Title**: Enhanced Observability
|
||||
- **Phase**: 6 - Observability & Production Readiness
|
||||
- **Epic**: 6 - Observability & Production Readiness
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 6-8 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 6.2
|
||||
- **Title**: Error Reporting (Sentry)
|
||||
- **Phase**: 6 - Observability & Production Readiness
|
||||
- **Epic**: 6 - Observability & Production Readiness
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 4-5 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 6.3
|
||||
- **Title**: Grafana Dashboards
|
||||
- **Phase**: 6 - Observability & Production Readiness
|
||||
- **Epic**: 6 - Observability & Production Readiness
|
||||
- **Status**: Pending
|
||||
- **Priority**: Medium
|
||||
- **Estimated Time**: 4-5 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 6.4
|
||||
- **Title**: Rate Limiting
|
||||
- **Phase**: 6 - Observability & Production Readiness
|
||||
- **Epic**: 6 - Observability & Production Readiness
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 4-5 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 6.5
|
||||
- **Title**: Security Hardening
|
||||
- **Phase**: 6 - Observability & Production Readiness
|
||||
- **Epic**: 6 - Observability & Production Readiness
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 5-6 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 6.6
|
||||
- **Title**: Performance Optimization
|
||||
- **Phase**: 6 - Observability & Production Readiness
|
||||
- **Epic**: 6 - Observability & Production Readiness
|
||||
- **Status**: Pending
|
||||
- **Priority**: Medium
|
||||
- **Estimated Time**: 6-8 hours
|
||||
@@ -1,4 +1,4 @@
|
||||
# Phase 6: Observability & Production Readiness
|
||||
# Epic 6: Observability & Production Readiness
|
||||
|
||||
## Overview
|
||||
Enhance observability with full OpenTelemetry integration, add comprehensive error reporting (Sentry), create Grafana dashboards, improve logging with request correlation, add rate limiting and security hardening, and optimize performance.
|
||||
@@ -3,11 +3,11 @@
|
||||
## Metadata
|
||||
- **Story ID**: 7.1
|
||||
- **Title**: Comprehensive Testing Suite
|
||||
- **Phase**: 7 - Testing, Documentation & CI/CD
|
||||
- **Epic**: 7 - Testing, Documentation & CI/CD
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 10-12 hours
|
||||
- **Dependencies**: All previous phases
|
||||
- **Dependencies**: All previous epics
|
||||
|
||||
## Goal
|
||||
Achieve comprehensive test coverage with unit tests, integration tests, and contract tests.
|
||||
@@ -3,11 +3,11 @@
|
||||
## Metadata
|
||||
- **Story ID**: 7.2
|
||||
- **Title**: Complete Documentation
|
||||
- **Phase**: 7 - Testing, Documentation & CI/CD
|
||||
- **Epic**: 7 - Testing, Documentation & CI/CD
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 8-10 hours
|
||||
- **Dependencies**: All previous phases
|
||||
- **Dependencies**: All previous epics
|
||||
|
||||
## Goal
|
||||
Create comprehensive documentation covering architecture, API, operations, and developer guides.
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 7.3
|
||||
- **Title**: CI/CD Pipeline Enhancement
|
||||
- **Phase**: 7 - Testing, Documentation & CI/CD
|
||||
- **Epic**: 7 - Testing, Documentation & CI/CD
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 5-6 hours
|
||||
@@ -3,11 +3,11 @@
|
||||
## Metadata
|
||||
- **Story ID**: 7.4
|
||||
- **Title**: Docker and Deployment
|
||||
- **Phase**: 7 - Testing, Documentation & CI/CD
|
||||
- **Epic**: 7 - Testing, Documentation & CI/CD
|
||||
- **Status**: Pending
|
||||
- **Priority**: High
|
||||
- **Estimated Time**: 6-8 hours
|
||||
- **Dependencies**: All previous phases
|
||||
- **Dependencies**: All previous epics
|
||||
|
||||
## Goal
|
||||
Create production-ready Docker images and comprehensive deployment guides.
|
||||
@@ -1,4 +1,4 @@
|
||||
# Phase 7: Testing, Documentation & CI/CD
|
||||
# Epic 7: Testing, Documentation & CI/CD
|
||||
|
||||
## Overview
|
||||
Comprehensive test coverage (unit, integration, contract), complete documentation, production-ready CI/CD pipeline, Docker images and deployment guides, and developer tooling.
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 8.1
|
||||
- **Title**: OpenID Connect (OIDC) Support
|
||||
- **Phase**: 8 - Advanced Features & Polish
|
||||
- **Epic**: 8 - Advanced Features & Polish
|
||||
- **Status**: Pending
|
||||
- **Priority**: Low
|
||||
- **Estimated Time**: 6-8 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 8.2
|
||||
- **Title**: GraphQL API
|
||||
- **Phase**: 8 - Advanced Features & Polish
|
||||
- **Epic**: 8 - Advanced Features & Polish
|
||||
- **Status**: Pending
|
||||
- **Priority**: Low
|
||||
- **Estimated Time**: 8-10 hours
|
||||
@@ -3,7 +3,7 @@
|
||||
## Metadata
|
||||
- **Story ID**: 8.3
|
||||
- **Title**: Additional Sample Modules
|
||||
- **Phase**: 8 - Advanced Features & Polish
|
||||
- **Epic**: 8 - Advanced Features & Polish
|
||||
- **Status**: Pending
|
||||
- **Priority**: Low
|
||||
- **Estimated Time**: 10-12 hours
|
||||
@@ -3,11 +3,11 @@
|
||||
## Metadata
|
||||
- **Story ID**: 8.4
|
||||
- **Title**: Final Polish and Optimization
|
||||
- **Phase**: 8 - Advanced Features & Polish
|
||||
- **Epic**: 8 - Advanced Features & Polish
|
||||
- **Status**: Pending
|
||||
- **Priority**: Medium
|
||||
- **Estimated Time**: 8-10 hours
|
||||
- **Dependencies**: All previous phases
|
||||
- **Dependencies**: All previous epics
|
||||
|
||||
## Goal
|
||||
Final polish, bug fixes, performance optimization, and security audit.
|
||||
@@ -1,4 +1,4 @@
|
||||
# Phase 8: Advanced Features & Polish
|
||||
# Epic 8: Advanced Features & Polish
|
||||
|
||||
## Overview
|
||||
Add advanced features (OIDC, GraphQL, API Gateway), performance optimization, additional sample modules, and final polish and bug fixes.
|
||||
@@ -86,7 +86,7 @@ nav:
|
||||
- Component Relationships: component-relationships.md
|
||||
- Architecture Decision Records:
|
||||
- ADR Overview: adr/README.md
|
||||
- "Phase 0: Project Setup & Foundation":
|
||||
- "Epic 0: Project Setup & Foundation":
|
||||
- "ADR-0001: Go Module Path": adr/0001-go-module-path.md
|
||||
- "ADR-0002: Go Version": adr/0002-go-version.md
|
||||
- "ADR-0003: Dependency Injection Framework": adr/0003-dependency-injection-framework.md
|
||||
@@ -99,40 +99,44 @@ nav:
|
||||
- "ADR-0010: CI/CD Platform": adr/0010-ci-cd-platform.md
|
||||
- "ADR-0011: Code Generation Tools": adr/0011-code-generation-tools.md
|
||||
- "ADR-0012: Logger Interface Design": adr/0012-logger-interface-design.md
|
||||
- "Phase 1: Core Kernel & Infrastructure":
|
||||
- "Epic 1: Core Kernel & Infrastructure":
|
||||
- "ADR-0013: Database ORM Selection": adr/0013-database-orm.md
|
||||
- "ADR-0014: Health Check Implementation": adr/0014-health-check-implementation.md
|
||||
- "ADR-0015: Error Bus Implementation": adr/0015-error-bus-implementation.md
|
||||
- "ADR-0016: OpenTelemetry Observability Strategy": adr/0016-opentelemetry-observability.md
|
||||
- "Phase 2: Authentication & Authorization":
|
||||
- "Epic 2: Authentication & Authorization":
|
||||
- "ADR-0017: JWT Token Strategy": adr/0017-jwt-token-strategy.md
|
||||
- "ADR-0018: Password Hashing Algorithm": adr/0018-password-hashing.md
|
||||
- "ADR-0019: Permission DSL Format": adr/0019-permission-dsl-format.md
|
||||
- "ADR-0020: Audit Logging Storage": adr/0020-audit-logging-storage.md
|
||||
- "Phase 3: Module Framework":
|
||||
- "Epic 3: Module Framework":
|
||||
- "ADR-0021: Module Loading Strategy": adr/0021-module-loading-strategy.md
|
||||
- "Phase 5: Infrastructure Adapters":
|
||||
- "Epic 5: Infrastructure Adapters":
|
||||
- "ADR-0022: Cache Implementation": adr/0022-cache-implementation.md
|
||||
- "ADR-0023: Event Bus Implementation": adr/0023-event-bus-implementation.md
|
||||
- "ADR-0024: Background Job Scheduler": adr/0024-job-scheduler.md
|
||||
- "ADR-0025: Multi-tenancy Model": adr/0025-multitenancy-model.md
|
||||
- "Phase 6: Observability & Production Readiness":
|
||||
- "Epic 6: Observability & Production Readiness":
|
||||
- "ADR-0026: Error Reporting Service": adr/0026-error-reporting-service.md
|
||||
- "ADR-0027: Rate Limiting Strategy": adr/0027-rate-limiting-strategy.md
|
||||
- "Phase 7: Testing, Documentation & CI/CD":
|
||||
- "Epic 7: Testing, Documentation & CI/CD":
|
||||
- "ADR-0028: Testing Strategy": adr/0028-testing-strategy.md
|
||||
- "Architecture & Scaling":
|
||||
- "ADR-0029: Microservices Architecture": adr/0029-microservices-architecture.md
|
||||
- "ADR-0030: Service Communication Strategy": adr/0030-service-communication-strategy.md
|
||||
- Implementation Tasks:
|
||||
- Tasks Overview: stories/README.md
|
||||
- "Phase 0: Project Setup & Foundation": stories/phase0/README.md
|
||||
- "Phase 1: Core Kernel & Infrastructure": stories/phase1/README.md
|
||||
- "Phase 2: Authentication & Authorization": stories/phase2/README.md
|
||||
- "Phase 3: Module Framework": stories/phase3/README.md
|
||||
- "Phase 4: Sample Feature Module (Blog)": stories/phase4/README.md
|
||||
- "Phase 5: Infrastructure Adapters": stories/phase5/README.md
|
||||
- "Phase 6: Observability & Production Readiness": stories/phase6/README.md
|
||||
- "Phase 7: Testing, Documentation & CI/CD": stories/phase7/README.md
|
||||
- "Phase 8: Advanced Features & Polish": stories/phase8/README.md
|
||||
- "Epic 0: Project Setup & Foundation": stories/epic0/README.md
|
||||
- "Epic 1: Core Kernel & Infrastructure": stories/epic1/README.md
|
||||
- "Epic 2: Authentication & Authorization": stories/epic2/README.md
|
||||
- "Epic 3: Module Framework": stories/epic3/README.md
|
||||
- "Epic 4: Sample Feature Module (Blog)": stories/epic4/README.md
|
||||
- "Epic 5: Infrastructure Adapters": stories/epic5/README.md
|
||||
- "Epic 6: Observability & Production Readiness": stories/epic6/README.md
|
||||
- "Epic 7: Testing, Documentation & CI/CD": stories/epic7/README.md
|
||||
- "Epic 8: Advanced Features & Polish": stories/epic8/README.md
|
||||
- Task Template: stories/TASK_TEMPLATE.md
|
||||
- Story Consolidation Guide: stories/STORY_CONSOLIDATION_GUIDE.md
|
||||
- Complete Task List: stories/COMPLETE_TASK_LIST.md
|
||||
|
||||
# Extra CSS (paths relative to docs_dir)
|
||||
|
||||
Reference in New Issue
Block a user