Skip to content

7.1 Scaffold and Schema

Sprint: Sprint 07 - Product Catalog Domain
Feature ID: 7.1
Subtasks: 7.1.1, 7.1.2

Objective

Deliver "Scaffold and Schema" within Sprint 07 - Product Catalog Domain.

Dependencies

Aggregated from the subtasks below (prerequisite task IDs and enablers):

  • 3.4.1
  • Sprint 04
  • Redis (1.3.4)
  • 7.1.1

Subtasks

7.1.1 Scaffold product-catalog-service from template

  • ID: 7.1.1
  • Title: Create product-catalog-service from the service template
  • Description: Instantiate microservices/product-catalog-service (port 9003, base package com.telco.catalog) from the template; depend on starter-api, starter-security, starter-mediator, starter-observability, starter-outbox; own the product database; declare CQRS+Mediator mode; enable Redis cache support.
  • Business Purpose: Standardized catalog-domain service skeleton.
  • Inputs: ADR-017.
  • Outputs: product-catalog-service skeleton building and registering.
  • Acceptance Criteria:
  • Service starts, registers, exposes Swagger UI, connects to Redis.
  • Dependencies: 3.4.1, Sprint 04, Redis (1.3.4)
  • Complexity: S

7.1.2 Catalog schema migration

  • ID: 7.1.2
  • Title: Create Flyway migration for tariffs, addons, versioning
  • Description: V1__catalog.sql creating tariffs (id, code, name, type, monthly_fee, minutes_included, sms_included, data_mb_included, status, effective_from, effective_to, version), addons (id, code, name, price, type, validity_days), tariff_addons (tariff_id, addon_id), and tariff_versions capturing historical tariff snapshots by (code, version) (FR-08).
  • Business Purpose: Versioned, time-bounded catalog storage (FR-06, FR-08).
  • Inputs: analysis Section 10.2, FR-06, FR-08.
  • Outputs: Flyway migration.
  • Acceptance Criteria:
  • Migration applies on Testcontainers Postgres; tariff/addon many-to-many and version history tables exist; money columns are numeric with a currency column.
  • Dependencies: 7.1.1
  • Complexity: M

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

  • product-catalog-service skeleton building and registering.
  • Flyway migration.

Definition of Done

  • All subtasks (7.1.1, 7.1.2) completed and their acceptance criteria verified.
  • All listed dependencies satisfied.
  • Build and tests green per the global conventions in ../README.md (Section 3).