/hspolls

Primary LanguageHaskell

Building & running

./make
docker-compose up -d
cabal v2-run

Coding conventions

  • Effects are defined in Hp.Eff.<EffectName> and named <EffectName>Effect
  • Carriers are defined in Hp.Eff.<EffectName>.<CarrierName> and named <EffectName>Carrier<CarrierName>
  • Types with a persistent identity are defined in Hp.Entity.<TypeName> and implement the IsEntity type class
  • Event types (domain events of interest to other parts of the application) are defined in Hp.Event.<EventName> and use the past tense
  • Misc. types are defined in Hp.<TypeName>
  • HTTP API routes are given declarative verb names <Name>Route
    • The corresponding route handler is defined in Hp.Handler.<Name>, which exports a single function named handle<Name>