Skip to content

Latest commit

 

History

History
23 lines (18 loc) · 806 Bytes

ARCHITECTURE.md

File metadata and controls

23 lines (18 loc) · 806 Bytes

Kousa Architecture Document

Kousa will roughly follow the HyperHypeBeast hexagonal, or "functional core" architecture:

https://www.youtube.com/watch?v=yTkzNHF6rMs

Elixir contexts

  1. Beef - Database, persistent state for Kousa
  • Beef.Access nonmutating queries
  • Beef.Changesets ingress validation logic
  • Beef.Mutations mutating queries
  • Beef.Queries composable Ecto.Query fragments
  • Beef.Schemas database table schemas
  • Beef.Lenses database struct logic
  1. Onion - OTP-based transient state for Kousa
  2. Broth - Web interface and contexts
  • Broth.Messages - contracts for all ws I/O
  1. Kousa - OTP Application, Business Logic, and common toolsets

NB: All of the module contexts will be part of the :kousa BEAM VM application under the application supervision tree