Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mermaid: Context Map Diagram #576

Open
AngeloChecked opened this issue Mar 3, 2024 · 2 comments
Open

Mermaid: Context Map Diagram #576

AngeloChecked opened this issue Mar 3, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@AngeloChecked
Copy link

AngeloChecked commented Mar 3, 2024

Hi @reid-spencer !

I've been exploring Mermaid in my free time, and I've recently completed a simple prototype of the context map diagram (demo here | draft pr here). While it's modest in scope and there's still much tuning, fixing, and improvement needed. I found your project idea intriguing as mentioned here. I'm curious to learn more about your vision/idea. How may I offer contributions to this project(if I'm able), and how does it align with the integration of the context map diagram into Mermaid?

@reid-spencer
Copy link
Contributor

reid-spencer commented Mar 5, 2024

Hi @AngeloChecked ! Thanks for dropping a note here. Here's some feedback

I'm curious to learn more about your vision/idea.

I haven't written a spec for context maps because it is pretty well laid out in the Blue Book on DDD. I recently completed a ContextMapDiagram and DomainMapDiagram which are both based on the D3 FlowChart with a builder for them here. I very much like that you've started to add a ContextMap type to Mermaid. I would definitely use it when it is released.

How may I offer contributions to this project

Just submit a PR in the usual way. However, I think what you're doing in Mermaid is also very valuable as I noted above.

(if I'm able),

This project uses Scala as its primary language so changes shouldn't be hard if you're familiar with that language. If not, you've got a steep learning curve.

and how does it align with the integration of the context map diagram into Mermaid?

It aligns well. There are a few things I would need to make it fit well with RIDDL:

  • CSS control for the ovals. RIDDL supports a "CSS" option for its definitions, which can be used to affect simple CSS things (font, point size, background/foreground colors, etc.)
  • RIDDL contexts can have an "faicon" attribute which provides the FontAwesome icon to include in the diagram. Support for that would be awesome.
  • ACLs in RIDDL are named Adaptors so settable diagram labels would be needed. I wasn't planning on showing Adaptors but I like their inclusion like your sample shows.
  • Everything in RIDDL has a name and a type, so I'd want to show contexts in an oval, as usual, but other things like adaptors in another shape, perhaps a round-ended tube.

@AngeloChecked
Copy link
Author

hi @reid-spencer,
As a fan of both Kotlin and Haskell, delving into Scala intrigues me.
But right now, though, my focus is on implementing the context map in Mermaid. Once that's done, I can maybe use Riddl as a sort of user test to assess the quality of the final result. Keep in mind, though, that this project is just a hobby for me, so I can't say for sure when or if it will be good enough to be considered finished.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants