docs: add mkdocs, update links, add architecture documentation

This commit is contained in:
2025-11-05 07:44:21 +01:00
parent 6a17236474
commit 54a047f5dc
351 changed files with 3482 additions and 10 deletions

View File

@@ -0,0 +1,40 @@
# Task 5.1.1: Install `github.com/redis/go-redis/v9`
## Metadata
- **Task ID**: 5.1.1
- **Title**: Install `github.com/redis/go-redis/v9`
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.1
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Install `github.com/redis/go-redis/v9`
## Requirements
- Install `github.com/redis/go-redis/v9`
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.1.1 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,50 @@
# Task 5.1.2: Create `pkg/infra/cache/cache.go` interface:
## Metadata
- **Task ID**: 5.1.2
- **Title**: Create `pkg/infra/cache/cache.go` interface:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.1
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Create `pkg/infra/cache/cache.go` interface:
## Requirements
- Create `pkg/infra/cache/cache.go` interface:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.1.2 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```
## Code Reference
```go
type Cache interface {
Get(ctx context.Context, key string) ([]byte, error)
Set(ctx context.Context, key string, value []byte, ttl time.Duration) error
Delete(ctx context.Context, key string) error
}
```

View File

@@ -0,0 +1,40 @@
# Task 5.1.3: Implement `internal/infra/cache/redis_cache.go`
## Metadata
- **Task ID**: 5.1.3
- **Title**: Implement `internal/infra/cache/redis_cache.go`
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.1
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Implement `internal/infra/cache/redis_cache.go`
## Requirements
- Implement `internal/infra/cache/redis_cache.go`
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.1.3 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.1.4: Add Redis config to `config/default.yaml`
## Metadata
- **Task ID**: 5.1.4
- **Title**: Add Redis config to `config/default.yaml`
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.1
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Add Redis config to `config/default.yaml`
## Requirements
- Add Redis config to `config/default.yaml`
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.1.4 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.1.5: Register in DI container
## Metadata
- **Task ID**: 5.1.5
- **Title**: Register in DI container
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.1
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Register in DI container
## Requirements
- Register in DI container
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.1.5 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.1.6: Add cache middleware for selected routes (optional)
## Metadata
- **Task ID**: 5.1.6
- **Title**: Add cache middleware for selected routes (optional)
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.1
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Add cache middleware for selected routes (optional)
## Requirements
- Add cache middleware for selected routes (optional)
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.1.6 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,49 @@
# Task 5.2.1: Create `pkg/eventbus/eventbus.go` interface:
## Metadata
- **Task ID**: 5.2.1
- **Title**: Create `pkg/eventbus/eventbus.go` interface:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.2
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Create `pkg/eventbus/eventbus.go` interface:
## Requirements
- Create `pkg/eventbus/eventbus.go` interface:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.2.1 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```
## Code Reference
```go
type EventBus interface {
Publish(ctx context.Context, topic string, event Event) error
Subscribe(topic string, handler EventHandler) error
}
```

View File

@@ -0,0 +1,40 @@
# Task 5.2.2: Implement `internal/infra/bus/inprocess_bus.go`:
## Metadata
- **Task ID**: 5.2.2
- **Title**: Implement `internal/infra/bus/inprocess_bus.go`:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.2
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Implement `internal/infra/bus/inprocess_bus.go`:
## Requirements
- Implement `internal/infra/bus/inprocess_bus.go`:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.2.2 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.2.3: Implement `internal/infra/bus/kafka_bus.go`:
## Metadata
- **Task ID**: 5.2.3
- **Title**: Implement `internal/infra/bus/kafka_bus.go`:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.2
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Implement `internal/infra/bus/kafka_bus.go`:
## Requirements
- Implement `internal/infra/bus/kafka_bus.go`:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.2.3 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.2.4: Add Kafka config to `config/default.yaml`
## Metadata
- **Task ID**: 5.2.4
- **Title**: Add Kafka config to `config/default.yaml`
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.2
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Add Kafka config to `config/default.yaml`
## Requirements
- Add Kafka config to `config/default.yaml`
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.2.4 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.2.5: Register bus in DI container (switchable via config)
## Metadata
- **Task ID**: 5.2.5
- **Title**: Register bus in DI container (switchable via config)
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.2
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Register bus in DI container (switchable via config)
## Requirements
- Register bus in DI container (switchable via config)
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.2.5 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.2.6: Add core events:
## Metadata
- **Task ID**: 5.2.6
- **Title**: Add core events:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.2
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Add core events:
## Requirements
- Add core events:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.2.6 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.3.1: Install `github.com/aws/aws-sdk-go-v2/service/s3`
## Metadata
- **Task ID**: 5.3.1
- **Title**: Install `github.com/aws/aws-sdk-go-v2/service/s3`
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.3
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Install `github.com/aws/aws-sdk-go-v2/service/s3`
## Requirements
- Install `github.com/aws/aws-sdk-go-v2/service/s3`
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.3.1 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,51 @@
# Task 5.3.2: Create `pkg/infra/blob/blob.go` interface:
## Metadata
- **Task ID**: 5.3.2
- **Title**: Create `pkg/infra/blob/blob.go` interface:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.3
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Create `pkg/infra/blob/blob.go` interface:
## Requirements
- Create `pkg/infra/blob/blob.go` interface:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.3.2 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```
## Code Reference
```go
type BlobStore interface {
Upload(ctx context.Context, key string, data []byte) error
Download(ctx context.Context, key string) ([]byte, error)
Delete(ctx context.Context, key string) error
GetSignedURL(ctx context.Context, key string, ttl time.Duration) (string, error)
}
```

View File

@@ -0,0 +1,40 @@
# Task 5.3.3: Implement `internal/infra/blob/s3_store.go`
## Metadata
- **Task ID**: 5.3.3
- **Title**: Implement `internal/infra/blob/s3_store.go`
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.3
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Implement `internal/infra/blob/s3_store.go`
## Requirements
- Implement `internal/infra/blob/s3_store.go`
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.3.3 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.3.4: Add S3 config to `config/default.yaml`
## Metadata
- **Task ID**: 5.3.4
- **Title**: Add S3 config to `config/default.yaml`
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.3
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Add S3 config to `config/default.yaml`
## Requirements
- Add S3 config to `config/default.yaml`
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.3.4 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.3.5: Register in DI container
## Metadata
- **Task ID**: 5.3.5
- **Title**: Register in DI container
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.3
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Register in DI container
## Requirements
- Register in DI container
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.3.5 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.3.6: Add file upload endpoint: `POST /api/v1/files/upload`
## Metadata
- **Task ID**: 5.3.6
- **Title**: Add file upload endpoint: `POST /api/v1/files/upload`
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.3
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Add file upload endpoint: `POST /api/v1/files/upload`
## Requirements
- Add file upload endpoint: `POST /api/v1/files/upload`
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.3.6 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.4.1: Install `github.com/go-mail/mail`
## Metadata
- **Task ID**: 5.4.1
- **Title**: Install `github.com/go-mail/mail`
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.4
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Install `github.com/go-mail/mail`
## Requirements
- Install `github.com/go-mail/mail`
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.4.1 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,49 @@
# Task 5.4.2: Create `pkg/notification/notification.go` interface:
## Metadata
- **Task ID**: 5.4.2
- **Title**: Create `pkg/notification/notification.go` interface:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.4
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Create `pkg/notification/notification.go` interface:
## Requirements
- Create `pkg/notification/notification.go` interface:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.4.2 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```
## Code Reference
```go
type Notifier interface {
SendEmail(ctx context.Context, to, subject, body string) error
SendSMS(ctx context.Context, to, message string) error
}
```

View File

@@ -0,0 +1,40 @@
# Task 5.4.3: Implement `internal/infra/email/smtp_notifier.go`:
## Metadata
- **Task ID**: 5.4.3
- **Title**: Implement `internal/infra/email/smtp_notifier.go`:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.4
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Implement `internal/infra/email/smtp_notifier.go`:
## Requirements
- Implement `internal/infra/email/smtp_notifier.go`:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.4.3 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.4.4: Add email config to `config/default.yaml`
## Metadata
- **Task ID**: 5.4.4
- **Title**: Add email config to `config/default.yaml`
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.4
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Add email config to `config/default.yaml`
## Requirements
- Add email config to `config/default.yaml`
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.4.4 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.4.5: Integrate with identity service:
## Metadata
- **Task ID**: 5.4.5
- **Title**: Integrate with identity service:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.4
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Integrate with identity service:
## Requirements
- Integrate with identity service:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.4.5 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.4.6: Register in DI container
## Metadata
- **Task ID**: 5.4.6
- **Title**: Register in DI container
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.4
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Register in DI container
## Requirements
- Register in DI container
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.4.6 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.5.1: Install `github.com/robfig/cron/v3` and `github.com/hibiken/asynq`
## Metadata
- **Task ID**: 5.5.1
- **Title**: Install `github.com/robfig/cron/v3` and `github.com/hibiken/asynq`
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.5
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Install `github.com/robfig/cron/v3` and `github.com/hibiken/asynq`
## Requirements
- Install `github.com/robfig/cron/v3` and `github.com/hibiken/asynq`
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.5.1 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,49 @@
# Task 5.5.2: Create `pkg/scheduler/scheduler.go` interface:
## Metadata
- **Task ID**: 5.5.2
- **Title**: Create `pkg/scheduler/scheduler.go` interface:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.5
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Create `pkg/scheduler/scheduler.go` interface:
## Requirements
- Create `pkg/scheduler/scheduler.go` interface:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.5.2 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```
## Code Reference
```go
type Scheduler interface {
Cron(spec string, job JobFunc) error
Enqueue(queue string, payload any) error
}
```

View File

@@ -0,0 +1,40 @@
# Task 5.5.3: Implement `internal/infra/scheduler/asynq_scheduler.go`:
## Metadata
- **Task ID**: 5.5.3
- **Title**: Implement `internal/infra/scheduler/asynq_scheduler.go`:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.5
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Implement `internal/infra/scheduler/asynq_scheduler.go`:
## Requirements
- Implement `internal/infra/scheduler/asynq_scheduler.go`:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.5.3 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.5.4: Create `internal/infra/scheduler/job_registry.go`:
## Metadata
- **Task ID**: 5.5.4
- **Title**: Create `internal/infra/scheduler/job_registry.go`:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.5
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Create `internal/infra/scheduler/job_registry.go`:
## Requirements
- Create `internal/infra/scheduler/job_registry.go`:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.5.4 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.5.5: Add example jobs:
## Metadata
- **Task ID**: 5.5.5
- **Title**: Add example jobs:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.5
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Add example jobs:
## Requirements
- Add example jobs:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.5.5 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.5.6: Add job monitoring endpoint: `GET /api/v1/jobs/status`
## Metadata
- **Task ID**: 5.5.6
- **Title**: Add job monitoring endpoint: `GET /api/v1/jobs/status`
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.5
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Add job monitoring endpoint: `GET /api/v1/jobs/status`
## Requirements
- Add job monitoring endpoint: `GET /api/v1/jobs/status`
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.5.6 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,48 @@
# Task 5.6.1: Create `pkg/infra/secret/secret.go` interface:
## Metadata
- **Task ID**: 5.6.1
- **Title**: Create `pkg/infra/secret/secret.go` interface:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.6
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Create `pkg/infra/secret/secret.go` interface:
## Requirements
- Create `pkg/infra/secret/secret.go` interface:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.6.1 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```
## Code Reference
```go
type SecretStore interface {
GetSecret(ctx context.Context, key string) (string, error)
}
```

View File

@@ -0,0 +1,40 @@
# Task 5.6.2: Implement `internal/infra/secret/vault_store.go` (HashiCorp Vault):
## Metadata
- **Task ID**: 5.6.2
- **Title**: Implement `internal/infra/secret/vault_store.go` (HashiCorp Vault):
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.6
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Implement `internal/infra/secret/vault_store.go` (HashiCorp Vault):
## Requirements
- Implement `internal/infra/secret/vault_store.go` (HashiCorp Vault):
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.6.2 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.6.3: Implement `internal/infra/secret/aws_secrets.go` (AWS Secrets Manager):
## Metadata
- **Task ID**: 5.6.3
- **Title**: Implement `internal/infra/secret/aws_secrets.go` (AWS Secrets Manager):
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.6
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Implement `internal/infra/secret/aws_secrets.go` (AWS Secrets Manager):
## Requirements
- Implement `internal/infra/secret/aws_secrets.go` (AWS Secrets Manager):
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.6.3 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.6.4: Integrate with config loader:
## Metadata
- **Task ID**: 5.6.4
- **Title**: Integrate with config loader:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.6
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Integrate with config loader:
## Requirements
- Integrate with config loader:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.6.4 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.6.5: Register in DI container (optional, via config)
## Metadata
- **Task ID**: 5.6.5
- **Title**: Register in DI container (optional, via config)
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.6
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Register in DI container (optional, via config)
## Requirements
- Register in DI container (optional, via config)
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.6.5 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,48 @@
# Task 5.7.1: Create `pkg/tenant/tenant.go` interface:
## Metadata
- **Task ID**: 5.7.1
- **Title**: Create `pkg/tenant/tenant.go` interface:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.7
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Create `pkg/tenant/tenant.go` interface:
## Requirements
- Create `pkg/tenant/tenant.go` interface:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.7.1 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```
## Code Reference
```go
type TenantResolver interface {
Resolve(ctx context.Context) (string, error)
}
```

View File

@@ -0,0 +1,40 @@
# Task 5.7.2: Implement `internal/tenant/resolver.go`:
## Metadata
- **Task ID**: 5.7.2
- **Title**: Implement `internal/tenant/resolver.go`:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.7
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Implement `internal/tenant/resolver.go`:
## Requirements
- Implement `internal/tenant/resolver.go`:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.7.2 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.7.3: Add tenant middleware:
## Metadata
- **Task ID**: 5.7.3
- **Title**: Add tenant middleware:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.7
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Add tenant middleware:
## Requirements
- Add tenant middleware:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.7.3 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.7.4: Update Ent queries to filter by tenant_id:
## Metadata
- **Task ID**: 5.7.4
- **Title**: Update Ent queries to filter by tenant_id:
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.7
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Update Ent queries to filter by tenant_id:
## Requirements
- Update Ent queries to filter by tenant_id:
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.7.4 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,40 @@
# Task 5.7.5: Update User entity to include tenant_id
## Metadata
- **Task ID**: 5.7.5
- **Title**: Update User entity to include tenant_id
- **Phase**: 5 - Infrastructure Adapters
- **Section**: 5.7
- **Status**: Pending
- **Priority**: High
- **Estimated Time**: TBD
- **Dependencies**: TBD
## Description
Update User entity to include tenant_id
## Requirements
- Update User entity to include tenant_id
## Implementation Steps
1. TODO: Add implementation steps
2. TODO: Add implementation steps
3. TODO: Add implementation steps
## Acceptance Criteria
- [ ] Task 5.7.5 is completed
- [ ] All requirements are met
- [ ] Code compiles and tests pass
## Related ADRs
- See relevant ADRs in `docs/adr/`
## Implementation Notes
- TODO: Add implementation notes
## Testing
```bash
# TODO: Add test commands
go test ./...
```

View File

@@ -0,0 +1,49 @@
# Phase 5: Infrastructure Adapters
## Overview
Implement infrastructure adapters for caching (Redis), event bus (Kafka), background job scheduling (asynq), and multi-tenancy support.
## Tasks
### 5.1 Cache Implementation
- [5.1.1 - Install Redis Client](./5.1.1-install-githubcomredisgo-redisv9.md)
- [5.1.2 - Create Cache Interface](./5.1.2-create-pkginfracachecachego-interface.md)
- [5.1.3 - Implement Redis Cache](./5.1.3-implement-internalinfracacheredis_cachego.md)
- [5.1.4 - Add Redis Config](./5.1.4-add-redis-config-to-configdefaultyaml.md)
- [5.1.5 - Register in DI Container](./5.1.5-register-in-di-container.md)
- [5.1.6 - Add Cache Middleware](./5.1.6-add-cache-middleware-for-selected-routes-optional.md)
### 5.2 Event Bus Implementation
- [5.2.1 - Create Event Bus Interface](./5.2.1-create-pkgeventbuseventbusgo-interface.md)
- [5.2.2 - Implement In-Process Bus](./5.2.2-implement-internalinfrabusinprocess_busgo.md)
- [5.2.3 - Implement Kafka Bus](./5.2.3-implement-internalinfrabuskafka_busgo.md)
- [5.2.4 - Add Kafka Config](./5.2.4-add-kafka-config-to-configdefaultyaml.md)
### 5.3 Background Job Scheduler
- [5.3.1 - Install Asynq](./5.3.1-install-githubcomhibikenasynq.md)
- [5.3.2 - Create Scheduler Interface](./5.3.2-create-pkgschedulerschedulergo-interface.md)
- [5.3.3 - Implement Asynq Scheduler](./5.3.3-implement-internalinfraschedulerasynq_schedulergo.md)
- [5.3.4 - Add Cron Support](./5.3.4-add-cron-support.md)
### 5.4 Multi-tenancy Support
- [5.4.1 - Create Tenant Resolver Interface](./5.4.1-create-pkgtenanttenantgo-interface.md)
- [5.4.2 - Implement Tenant Resolver](./5.4.2-implement-internaltenantresolvergo.md)
- [5.4.3 - Add Tenant Middleware](./5.4.3-add-tenant-middleware.md)
- [5.4.4 - Update Ent Queries](./5.4.4-update-ent-queries-with-tenant-scoping.md)
## Deliverables Checklist
- [ ] Redis cache adapter implemented
- [ ] Event bus supports in-process and Kafka
- [ ] Background job scheduler with asynq
- [ ] Cron job support
- [ ] Multi-tenancy resolver and middleware
- [ ] Database queries scoped by tenant
## Acceptance Criteria
- Cache operations work with Redis fallback
- Events can be published to Kafka
- Background jobs can be scheduled
- Cron jobs run on schedule
- Tenant isolation works for database queries
- Middleware extracts tenant from request