Hodur is a descriptive domain modeling approach and related collection of libraries for ClojureHodur (by Tiago Luchini).

By using Hodur you can define your domain model as data, parse and validate it, and then either consume your model via an API making your apps respond to the defined model or use one of the many plugins to help you achieve mechanical, repetitive results faster and in a purely functional manner.


Hodur Motivation.

Hodur Plugins

For visualization/documentation:

  • o hodur-graphviz-schema: generates beautiful GraphViz diagrams of your domain
  • o hodur-visualizer-schema: generates a dynamically, hot-reloaded version of your domain on a web browser

Schemas for persistent systems:

  • o hodur-datomic-schema: generates Datomic Cloud compatible schemas
  • o hodur-contentful-schema: generates Contentful compatible schemas

Schemas for inbound interfaces:

  • o hodur-lacinia-schema: generates Lacinia (GraphQL) schemas

Schemas for validation/data-generation:

  • o hodur-spec-schema: generates Clojure Spec schemas

Experimental adapters:

  • o hodur-lacinia-datomic-adapter: experimental utilities for bridging GraphQL queries and mutations into Datomic


Declarative Domain Modeling for Datomic Ion/Cloud - Tiago Luchini.