kindelia / Kindelia

An efficient, secure cryptocomputer
https://kindelia.org/
602 stars 41 forks source link

I made some UML diagrams. #242

Open dan-da opened 1 year ago

dan-da commented 1 year ago

Sharing these diagrams I made of the Kindelia rust crates. I find them helpful to get a birds eye view of how things fit together.

Presently these are being re-generated once per day from latest code. Let me know if any q's, comments.

steinerkelvin commented 1 year ago

Uhh. Which tool are you using? Could there be a way to generate individual modules? I think it would be easier to insert it on some docs in this repo, as the kindelia_core diagram got very big. Also, it only draws for pub items, right?

dan-da commented 1 year ago

Here is the tool.

A year or so back I forked it from an unmaintained project and updated to work with current rustc, as well as adding colors, web/github integration scripts, etc. It's a bit fragile, but working for now.

The base tool builds a single diagram for a single crate on local filesystem. This script is used to automate checkout from remote git repo, build set of 3 diagrams for each crate, and generate index.html. For kindelia, it uses this config file.

If there was a unique config file for each crate, that would I think do what you want. Each html page would have a single crate, and the html+diagrams could be commited to eg docs directory of each crate.

Personally, I like being able to view all related crates on a single page, but there's also no reason we couldn't do both.

If you wish, I can submit a PR to each repo with the necessary config and a command to be run from crontab. (note: php installation required for automation scripts)

Also, it only draws for pub items, right

It displays both priv and public. priv have a - and pub have a +.