I have been using Clojure, ClojureScript, lein, shadow-cljs, re-frame, reagent, Emacs, and CIDER to work on a Clojure/ClojureScript dynamic web app project.
Usually, I build the project by executing the command cider-jack-in-cljs in Emacs, choosing shadow-cljs, then shadow for REPL type, and, finally, app for the building option.
As Clojure projects tend to be, this is a data driven application leveraged by the reactive programming of the Re-frame and the reagent libraries.
Although the use of this approach is clear, the data modeling for the case at hand is not totally clear to me. The domain has been modeled, but it is not clear to me how it was exactly handled.
Is there some way to pinpoint the heart of the data modeling in a Clojure project? Is there some tool that extracts this? Maybe something like a git log showing branches but for the data modeling and flow around the architecture?
Or only a hand-made documentation file written by the architect would save me?
Obs.: Why is this kind of a Clojure question?
Well, I am new to Clojure, but since Clojure keeps everything in a Lisp image and Lisps, in general, deal with symbols in smart ways (symbolic computation is all about that), I thought that there could be a better way to use Clojure for this.
Also, it can be an Emacs question... Since Emacs is so awesome and powerful, maybe there is some trick from Cider to help with this problem.