introduce-yourself

2025-09-18T16:00:44.381599Z

πŸ‘‹ I am Felippe from Brazil and currently living in Sandy/UT/USA, 34 YO, married and father of Nico (6 YO) and Esme (2 YO). Been working with python, java, js, ruby for the past 15 years and now finally clojure. I am trying to learn more about kit and pedestal, particularly as it relates to hexagonal architecture. The thing I don’t get right now, in clj land, is how to think about entities that are not closely coupled with a db table, or an external API representation β€” essentially how to define domain entities and β€œuse cases” that describe the business logic. I would appreciate any help with that πŸ™

1
πŸ‡§πŸ‡· 1
πŸ‘‹ 10
πŸ‘‹πŸ» 1
πŸ‘‹πŸΌ 1
2025-09-26T19:37:02.951339Z

Hi @raposo.felippe, welcome!! Nice to see more Brazilians here ... please feel free to join #clojure-brasil πŸ’œ

❀️ 1
πŸ‘‹ 1
gdubs 2025-09-19T17:05:56.750269Z

πŸ‘‹ from Lindon, UT

πŸ‘‹ 1
seancorfield 2025-09-18T16:28:46.583729Z

Domain entities are generally "just maps" -- plain ol' immutable data.

seancorfield 2025-09-18T16:29:55.661199Z

Business logic is "the same", except we try to keep it all pure -- so it gets all of its input via arguments and returns the "modified" data. Search for "functional core, imperative shell" for example.

2025-09-18T16:38:54.705309Z

Hi mr.Corfield, thank you so much for the prompt response. Are you aware of any public codebase that follows the concepts you mentioned? Thanks!

seancorfield 2025-09-18T16:42:05.727359Z

Not off-hand, I'm afraid. I mostly only pay attention to OSS libraries, not apps.

πŸ™ 1
Ludger Solbach 2025-09-18T17:32:51.808299Z

Hello Felippe, take a look at https://github.com/soulspace-org/overarch. It is a command line app for modeling system architecture and is designed with clean/hexagonal/onion architecture. The model elements are just plain data and the domain core is purely functional. The application layer contains the "use case" orchestration and the "interfaces" (multimethods here) for the driven adapters (e.g. for exports and rendering), for which the implementations are in the adapter layer.

πŸ™ 1
neumann 2025-09-18T19:03:09.174969Z

Welcome! If you haven't already, feel free to join #pedestal, #kit-clj, and #architecture and ask questions there too.

πŸ™ 1
2025-09-18T19:20:46.105679Z

Thanks everyone πŸ™

tengstrand 2025-11-13T04:47:03.189609Z

If you are interested in the Hexagonal architecture, you should read https://medium.com/@joakimtengstrand/understanding-polylith-through-the-lens-of-hexagonal-architecture-8e7c8757dab1 blog post, where I compare it with Polylith.