Skip to content

Repository files navigation

QueueAndPray 🚀

A playground for distributed systems, event-driven architecture, and backend experiments.

About

QueueAndPray is my engineering sandbox.

It is not a production-ready application and intentionally has no business domain.

The goal of this repository is to experiment with architectural patterns, infrastructure components, and distributed system concepts in isolation before applying them to real-world projects.

Think of it as my personal backend laboratory.

Why?

Some concepts are difficult to understand from articles alone.

I prefer implementing them myself, breaking them, fixing them, and documenting the trade-offs.

This repository exists exactly for that purpose.

Topics explored

The project will gradually include experiments with topics such as:

  • Event-Driven Architecture
  • Messaging
  • RabbitMQ
  • Redis Streams
  • Kafka (later)
  • CQRS
  • Event Sourcing
  • Saga Pattern
  • Outbox Pattern
  • Inbox Pattern
  • Idempotency
  • Background Processing
  • Distributed Locks
  • Retry Policies
  • Dead Letter Queues
  • Eventually Consistent Workflows
  • Horizontal Scaling
  • Observability
  • OpenTelemetry
  • Docker
  • Integration Testing

Not every experiment will stay. Some ideas may be replaced as I learn better approaches.

Repository philosophy

This repository intentionally prioritizes:

  • learning
  • experimentation
  • architecture
  • infrastructure
  • trade-off analysis

over

  • business features
  • UI
  • production completeness

Expect breaking changes.

Expect unfinished ideas.

Expect weird experiments.

That's the point.

Current status

🚧 Work in progress

The repository evolves continuously as I study distributed systems and backend architecture.

Tech stack

  • .NET
  • ASP.NET Core
  • Docker
  • PostgreSQL
  • Redis
  • RabbitMQ
  • xUnit
  • Testcontainers (planned)

Goals

This project helps me gain hands-on experience with concepts that are commonly discussed in senior and software architect roles.

Instead of reading about patterns, I implement them.

Sometimes they work.

Sometimes I pray.

Hence the name.


"Theory is where everything works and nobody knows why.

Practice is where everything breaks and nobody knows why.

QueueAndPray is somewhere in between."

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages