projection-patterns

Build read models and projections from event streams for CQRS.

Updated Mar 18, 2026
One-click install
npx skills add https://github.com/ekremmkasap/jarvis --skill projection-patterns-ekremmkasap
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: projection-patterns
Source: https://github.com/ekremmkasap/jarvis/tree/main/server/agent_prompts/wshobson/plugins/backend-development/skills/projection-patterns
Command: npx skills add https://github.com/ekremmkasap/jarvis --skill projection-patterns-ekremmkasap

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Projection-patterns helps engineers build read models and projections from event streams to support CQRS, materialized views, and real-time analytics.

Core Features & Use Cases

  • Projection architecture that converts events into queryable read models.
  • Supports live, catchup, persistent, and inline projections for various consistency needs.
  • Templates demonstrate common projections (basic projector, order summary, search projection, aggregated analytics, multi-table projections).

Quick Start

Create a Projection by subclassing Projection, register it on a Projector, and run the projection loop to build your read model from events.

Frequently Asked Questions about projection-patterns

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

FAQPage Schema
How do I build read models from event streams for CQRS querying?

You can build read models from event streams by subclassing a Projection, registering it on a Projector, and running the projection loop to convert events into queryable materialized views.

What is the difference between live, catchup, and persistent projections?

Live projections process new events in real-time, catchup projections rebuild read models from historical events, and persistent projections maintain continuous event processing for ongoing consistency.

Can I use PostgreSQL or Elasticsearch as a backing store for read model projections?

Yes, the projection framework supports optional backends including PostgreSQL and Elasticsearch for materializing read models, with a backing store required for maintaining processing checkpoints.

How do I handle historical rebuilds and multi-table materialization for event sourcing?

Historical rebuilds and multi-table materialization are handled using projection templates that process event streams to populate aggregated analytics and order summary views across multiple database tables.

Do I need a Python framework to implement event stream projections?

Yes, implementing these projections requires a Python-based framework that provides a projection loop, checkpoint storage, and configurable backends to process events into queryable read models.