projection-patterns

Translate event streams into queryable read models and materialized projections.

3|1|Updated Feb 3, 2026
One-click install
npx skills add https://github.com/duanbiao2000/obsidianDoc26 --skill projection-patterns-duanbiao2000
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: projection-patterns
Source: https://github.com/duanbiao2000/obsidianDoc26/tree/main/agents-main/plugins/backend-development/skills/projection-patterns
Command: npx skills add https://github.com/duanbiao2000/obsidianDoc26 --skill projection-patterns-duanbiao2000

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Converts event streams into queryable read models and materialized projections to enable fast, real-time access to domain data.

Core Features & Use Cases

  • Build live and catchup projections to support current-state queries
  • Create and maintain materialized views across streams with idempotent processing
  • Implement multi-table and multi-store projections with transactional integrity
  • Support projection types like Live, Catchup, Persistent, and Inline for varied consistency guarantees

Quick Start

Define a projection by implementing a Projection subclass and wire it into a Projector to begin processing events.

Frequently Asked Questions about projection-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create read models from event streams for real-time queries?

To create read models from event streams, implement a Projection subclass and wire it into a Projector to process events into queryable materialized views with deterministic processing and idempotent replay.

What is the best way to maintain materialized views across multiple streams with transactional integrity?

Maintaining materialized views across streams requires multi-table and multi-store projections with transactional updates, ensuring idempotent processing and checkpointing for fault tolerance during rebuilds.

How does idempotent replay work when rebuilding projections in CQRS architectures?

Idempotent replay in CQRS ensures deterministic projection processing by reprocessing events safely, using checkpointing to track progress and guaranteeing transactional updates across tables during fault recovery.

When do I need different projection types like Live, Catchup, and Persistent for event sourcing?

Different projection types provide varied consistency guarantees: Live projections support current-state queries, Catchup handles historical data, while Persistent and Inline projections balance real-time access with rebuild requirements.

Can I use projection patterns for real-time dashboards and analytics pipelines?

Yes, projection patterns support real-time dashboards and analytics pipelines by translating event streams into up-to-date views, enabling fast queryable insights across multiple streams with checkpointing for fault tolerance.

What are the limitations of inline projections compared to persistent projections in event-sourced systems?

Inline projections offer immediate consistency but may impact write performance, while Persistent projections decouple processing to support catchup and rebuilds, trading immediate consistency for improved fault tolerance and scalability.