Colmena

  • hexagonal-architecture
  • event-sourcing
  • domain-driven-design
  • cqrs

Around 2015, @hecrj and I were having serious trouble maintaining a Django codebase we had started just one year ago!

We knew we were doing something wrong, and we had serious doubts about MVC as a healthy, long-term architecture for complex applications.

After doing some research and debating a few ideas, we decided to ditch frameworks and experiment with our own system, drawing inspiration from many other patterns we liked, such as the Hexagonal Architecture, Event Sourcing, CQRS, Domain-Driven Design.

What came out of this process was an architecture we called Colmena (Beehive in Spanish), because it was composed of many small cells that used the hexagonal architecture.

We’ve written a few articles introducing this architecture and the ideas it champions. You can find them in my blog and hecrj’s.

We’ve also published a RealWorld API example in Ruby to showcase these ideas in a real context.

Beehive