Files
BMAD-METHOD/ai/templates/prd-template.md
2025-04-16 22:13:31 -05:00

3.9 KiB

1. Title: {PRD for {project}}

Status: { Draft | Approved }

Intro

{ Short 1-2 paragraph describing the what and why of what the prd will achieve}

Goals

{

  • Clear project objectives
  • Measurable outcomes
  • Success criteria
  • Key performance indicators (KPIs) }

Features and Requirements

  • Functional requirements
  • Non-functional requirements
  • User experience requirements
  • Integration requirements
  • Compliance requirements

Epic List

Epic-1: Current PRD Epic (for example backend epic)

Epic-2: Second Current PRD Epic (for example front end epic)

Epic-N: Future Epic Enhancements (Beyond Scope of current PRD)

Epic 1: Story List

  • Story 1: Project and NestJS Configuration Status: {''|'InProgress'|'Complete'} Requirements:

    • Install NestJS CLI Globally
    • Create a new NestJS project with the nestJS cli generator
    • Test Start App Boilerplate Functionality
    • Init Git Repo and commit initial project set up
  • Story 2: News Retrieval API Route Status: {''|'InProgress'|'Complete'} Requirements:

    • Create API Route that returns a list of News and comments from the news source foo
    • Route post body specifies the number of posts, articles, and comments to return
    • Create a command in package.json that I can use to call the API Route (route configured in env.local)

Technology Stack

{ Table listing choices for languages, libraries, infra, etc...}

| Technology | Version | Description | | ---------- | ------- | ----------- | | Kubernetes | x.y.z | Container orchestration platform for microservices deployment | | Apache Kafka | x.y.z | Event streaming platform for real-time data ingestion | | TimescaleDB | x.y.z | Time-series database for sensor data storage | | Go | x.y.z | Primary language for data processing services | | GoRilla Mux | x.y.z | REST API Framework | | Python | x.y.z | Used for data analysis and ML services |

Reference

{ Mermaid Diagrams for models tables, visual aids as needed, citations and external urls }

Data Models, API Specs, Schemas, etc...

{ As needed - may not be exhaustive - but key ideas that need to be retained and followed into the architecture and stories }

### Sensor Reading Schema
{
  "sensor_id": "string",
  "timestamp": "datetime",
  "readings": {
    "temperature": "float",
    "pressure": "float",
    "humidity": "float"
  },
  "metadata": {
    "location": "string",
    "calibration_date": "datetime"
  }
}

Project Structure

{ Diagram the folder and file organization structure along with descriptions }

// Start of Selection
```text
src/
├── services/
│   ├── gateway/        # Sensor data ingestion
│   ├── processor/      # Data processing and validation
│   ├── analytics/      # Data analysis and ML
│   └── notifier/       # Alert and notification system
├── deploy/
│   ├── kubernetes/     # K8s manifests
│   └── terraform/      # Infrastructure as Code
└── docs/
    ├── api/           # API documentation
    └── schemas/       # Data schemas

Change Log

{ Markdown table of key changes after document is no longer in draft and is updated, table includes the change title, the story id that the change happened during, and a description if the title is not clear enough }

| Change | Story ID | Description | | -------------------- | -------- | ------------------------------------------------------------- | | Initial draft | N/A | Initial draft prd | | Add ML Pipeline | story-4 | Integration of machine learning prediction service story | | Kafka Upgrade | story-6 | Upgraded from Kafka 2.0 to Kafka 3.0 for improved performance |