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

Add high-level go-ipfs architecture diagram #6727

Merged
merged 2 commits into from
Oct 30, 2019
Merged

Add high-level go-ipfs architecture diagram #6727

merged 2 commits into from
Oct 30, 2019

Conversation

momack2
Copy link
Contributor

@momack2 momack2 commented Oct 25, 2019

No description provided.

README.md Show resolved Hide resolved
Copy link

@ericronne ericronne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few quick thots/qs, from one who has (less than?) a bare minimum of background on this system ...

  • What do the colors signify? Do we need a key?
  • Looks like the colored arrows are meant to map to the three talk bubbles? If so, it might help users if we reinforced that connection by using the exact colors throughout. Eg if the ipfs.get bubble was thickly outlined in the purple of the arrows — and also had a purple arrow connecting it to the API box — it might be easier to follow the flow.
  • That said, if there's a way to better align with the ipfs brand colors, that'd be awesome. (See page 22 of the brand book)
  • The diagram @daviddias referenced has the advantage of black-and-white simplicity, but color is handy for scannability and visual grouping.
  • Most boxes may not require outlines. If you think they help, though, try using a darker version of the fill color. That will minimize noise.
  • @momack2 if you wanted to walk me through this in a hangout at some point, i might be able to offer better-informed notions :)
  • Do you plan to update the pubsub diagrams at some point as well, for consistency?

@momack2
Copy link
Contributor Author

momack2 commented Oct 26, 2019

Thanks for the feedback, @ericronne! Updated the color palette to match the brand book (excepting the libp2p part, which is intentionally a libp2p color), and also make the stylistic updates re outlines and clarity of what each arrow color means. LMK if that seems better!

I'd be happy to do a walkthrough - but also am transcribing a lot of knowledge from Steven/Jeromy into this doc that I'm not the best person to explain. I can give a sense as to purpose/audience though - which is folks who are onboarding on IPFS as deep users and hopefully future contributors who want to grok how the pieces fit together and make sense of all the different repos/libraries that make up the sub-areas of IPFS (so they can hopefully help improve them!)

@ericronne
Copy link

That feels much easier to follow @momack2 👍
I forked it just now and made some text semibold, which might help key elements stand out (also tweaked a couple alignment issues). Copy if you like. Since the ability to edit online is important, your approach feels like a good compromise. It would be nice to create a template from scratch at some point.

@momack2
Copy link
Contributor Author

momack2 commented Oct 29, 2019

Thanks Eric! Merged those in (and also deleted modules unused by our add / get / request pathways. I think the main communication point here is "how do the systems fit together for basic requests" - so wanted to narrow in on that aim.

@momack2
Copy link
Contributor Author

momack2 commented Oct 29, 2019 via email

README.md Outdated Show resolved Hide resolved
@momack2
Copy link
Contributor Author

momack2 commented Oct 29, 2019

Can has approving review? I can merge without it but want to model good contributor practice. 😜

@momack2 momack2 changed the title Add WIP high-level architecture diagram Add high-level go-ipfs architecture diagram Oct 29, 2019
Copy link
Member

@daviddias daviddias left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👏🏽👏🏽 Thank you for creating this diagram! go-ipfs overall documentation is getting HAWT 🔥🔥

Copy link
Member

@alanshaw alanshaw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can’t speak 100% to the accuracy of it but it looks great and it is clear what components are in use when you add/get. The only thing I don’t understand is the libp2p “request”...? 🤔

@momack2
Copy link
Contributor Author

momack2 commented Oct 30, 2019

@alanshaw - This is when you're getting a request from another node for data you have (via one of the various libp2p methods like pubsub/DHT). If there's a better name I'm happy to add it!

@momack2 momack2 merged commit cf150c1 into master Oct 30, 2019
@momack2 momack2 deleted the momack2-patch-1 branch October 30, 2019 07:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants