.. _building-blocks:

===============
Building Blocks
===============

Protean takes an opinionated approach to software development, one that encourages long-term maintainability, automated test coverage and technology agnostic code. To be able to do this, it relies on well-understood and published development models like Domain-Driven Design, CQRS, Ports and Adapters Architecture and Event Sourcing.

This section walks you through these mental models, and introduces the core framework pieces used to build application software.

.. toctree::
    :maxdepth: 1
    :glob:

    aggregate
    repository
