9.1 Subscription Service - Scaffold and Schema¶
Sprint: Sprint 09 - Subscription and Onboarding Saga
Feature ID: 9.1
Subtasks: 9.1.1, 9.1.2, 9.1.3
Objective¶
Deliver "Subscription Service - Scaffold and Schema" within Sprint 09 - Subscription and Onboarding Saga.
Dependencies¶
Aggregated from the subtasks below (prerequisite task IDs and enablers):
- 3.4.1
- Sprint 04
- 9.1.1
- 9.1.2
Subtasks¶
9.1.1 Scaffold subscription-service from template¶
- ID: 9.1.1
- Title: Create subscription-service from the service template
- Description: Instantiate
microservices/subscription-service(port 9005, base packagecom.telco.subscription) from the template; depend on starter-api, starter-security, starter-mediator, starter-observability, starter-outbox, starter-inbox; own thesubscriptiondatabase; CQRS+Mediator; audit logging enabled. - Business Purpose: Standardized subscription-domain service skeleton.
- Inputs: ADR-017.
- Outputs: subscription-service skeleton building and registering.
- Acceptance Criteria:
- Service starts, registers, exposes Swagger UI.
- Dependencies: 3.4.1, Sprint 04
- Complexity: S
9.1.2 Subscription schema migration¶
- ID: 9.1.2
- Title: Create Flyway migration for subscriptions, MSISDN pool, SIM cards
- Description:
V1__subscription.sqlcreatingsubscriptions(id, customer_id, msisdn, tariff_code, tariff_version, status, activated_at, terminated_at),msisdn_pool(msisdn primary key, status, reserved_until),sim_cards(iccid, imsi, msisdn, status), plus outbox/inbox tables. - Business Purpose: Persist subscription lifecycle and number/SIM inventory (FR-13, FR-15).
- Inputs: analysis Section 10.4, FR-13, FR-15.
- Outputs: Flyway migration.
- Acceptance Criteria:
- Migration applies; status supports ACTIVE/SUSPENDED/TERMINATED; MSISDN pool supports FREE/RESERVED/ALLOCATED.
- Dependencies: 9.1.1
- Complexity: M
9.1.3 Seed MSISDN pool¶
- ID: 9.1.3
- Title: Seed the MSISDN pool with FREE numbers
- Description: Seed a range of FREE MSISDNs for allocation during onboarding (test/dev data via Flyway or an admin endpoint).
- Business Purpose: Provide allocatable numbers for activation (FR-13).
- Inputs: analysis Section 10.4.
- Outputs: MSISDN seed data.
- Acceptance Criteria:
- A fresh DB has FREE MSISDNs available; allocation reduces the FREE count.
- Dependencies: 9.1.2
- Complexity: S
Acceptance Criteria¶
Each subtask above carries its own objective, testable acceptance criteria. This feature is complete when every subtask's acceptance criteria are met.
Deliverables¶
- subscription-service skeleton building and registering.
- Flyway migration.
- MSISDN seed data.
Definition of Done¶
- All subtasks (9.1.1, 9.1.2, 9.1.3) completed and their acceptance criteria verified.
- All listed dependencies satisfied.
- Build and tests green per the global conventions in ../README.md (Section 3).