feat: reword phase to epic, update mkdocs
This commit is contained in:
@@ -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 |
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user