Skip to content

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 package com.telco.subscription) from the template; depend on starter-api, starter-security, starter-mediator, starter-observability, starter-outbox, starter-inbox; own the subscription database; 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.sql creating subscriptions (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).