Skip to content

Tools for DDD and Hexagonal Architecture in Ruby

Notifications You must be signed in to change notification settings

thehecksteam/hecks

Repository files navigation

Hecks

Hecks is a suite of tools for developing Domains and using them with Hexagonal Architecture. The goal is to lower the barrier to using these methodologies and to deliver changeable, testable, maintainable code quickly!

Usage

> gem install hecks

Generating your Domain

Quick Start

  1. Write a domain file
  2. Generate a domain
  3. Write a command
  4. Publish the domain as a gem
  5. Configure and use a storage adapter
  6. Use the domain in a Rails App

Building and Testing Hecks

The ci command will build and test all of the projects.

  • Builds the gems
  • Install the gems locally
  • Generates examples
  • Runs the tests in all the projects

> hecks ci

Default command for hecks ci all, which runs the following commands: gems build, gems install, examples generate, examples test, adapters test, app test, domain test, active_model test

Hecks Projects

Hecks App

Hecks Domain

Hecks Adapters

Hecks ActiveModel

Hecks Examples

These examples exercise the DDD concepts. They are working apps that you can review to understand how Hecks works

A domain that describes soccer matches that could be used to publish fixtures

A domain that describes the agile meeting format called lean coffee

A rails app that uses the lean coffee domain and the dynamodb adapter to present an interface to users

Resources

DDD from Hecks perspective

Carbon Five's blogpost about how Ubiquitous Language works in their company

Releases

No releases published

Packages

No packages published

Languages