Adding an interactive diagram for exploring botocore's codebase #3541
Closed
ivanmilevtues
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hey, all I've always wanted to contribute to open-source projects. But whenever I start I feel a bit lost when it comes to navigation and wrapping my head around on the main flow and the main "logical" components of a codebase. That is why I started working on a project to help people like me, who are visual learners. The project generates an interactive diagram starting from the highest level of abstraction and allows you to dive deeper into interesting components.
Here is the diagram for botocore:
graph LR Core_Session_Configuration["Core Session & Configuration"] Client_API_Gateway["Client API Gateway"] Authentication_Signing["Authentication & Signing"] Service_Model_Endpoint_Resolution["Service Model & Endpoint Resolution"] Request_Response_Transformation["Request/Response Transformation"] HTTP_Transport_Retry["HTTP Transport & Retry"] Event_Plugin_System["Event & Plugin System"] Paginator_Waiter_Utilities["Paginator & Waiter Utilities"] Core_Session_Configuration -- "Initializes & Configures" --> Client_API_Gateway Core_Session_Configuration -- "Provides Configuration To" --> Authentication_Signing Core_Session_Configuration -- "Provides Configuration To" --> Service_Model_Endpoint_Resolution Core_Session_Configuration -- "Provides Configuration To" --> Request_Response_Transformation Core_Session_Configuration -- "Provides Configuration To" --> HTTP_Transport_Retry Core_Session_Configuration -- "Provides Configuration To" --> Event_Plugin_System Client_API_Gateway -- "Orchestrates API Call" --> Authentication_Signing Client_API_Gateway -- "Orchestrates API Call" --> Service_Model_Endpoint_Resolution Client_API_Gateway -- "Orchestrates API Call" --> Request_Response_Transformation Client_API_Gateway -- "Orchestrates API Call" --> HTTP_Transport_Retry Client_API_Gateway -- "Utilizes" --> Paginator_Waiter_Utilities Client_API_Gateway -- "Exchanges Events With" --> Event_Plugin_System Authentication_Signing -- "Requests Credentials From" --> Core_Session_Configuration Authentication_Signing -- "Signs Requests For" --> Client_API_Gateway Service_Model_Endpoint_Resolution -- "Provides Model & Endpoint Info To" --> Client_API_Gateway Service_Model_Endpoint_Resolution -- "Consulted By" --> Request_Response_Transformation Request_Response_Transformation -- "Transforms & Validates Data For" --> Client_API_Gateway Request_Response_Transformation -- "Consults" --> Service_Model_Endpoint_Resolution HTTP_Transport_Retry -- "Sends/Receives Data For" --> Client_API_Gateway Event_Plugin_System -- "Enables Customization Of" --> Client_API_Gateway Event_Plugin_System -- "Enables Customization Of" --> Authentication_Signing Event_Plugin_System -- "Enables Customization Of" --> Request_Response_Transformation Event_Plugin_System -- "Enables Customization Of" --> HTTP_Transport_Retry Paginator_Waiter_Utilities -- "Utilizes" --> Client_API_Gateway Paginator_Waiter_Utilities -- "Consults" --> Service_Model_Endpoint_Resolution click Core_Session_Configuration href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/botocore/Core_Session_Configuration.md" "Details" click Client_API_Gateway href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/botocore/Client_API_Gateway.md" "Details" click Authentication_Signing href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/botocore/Authentication_Signing.md" "Details" click Service_Model_Endpoint_Resolution href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/botocore/Service_Model_Endpoint_Resolution.md" "Details" click Request_Response_Transformation href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/botocore/Request_Response_Transformation.md" "Details" click HTTP_Transport_Retry href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/botocore/HTTP_Transport_Retry.md" "Details" click Event_Plugin_System href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/botocore/Event_Plugin_System.md" "Details" click Paginator_Waiter_Utilities href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/botocore/Paginator_Waiter_Utilities.md" "Details"The generation tool is based on Static Analysis and LLMs and is fully open-source: https://github.com/CodeBoarding/CodeBoarding
You can see the full diagram with explanations and related source code here: https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/botocore/on_boarding.md
Any feedback is appreciated! Would love to hear your opinion on diagrams as an exploration tooling and diagram first documentation!
Beta Was this translation helpful? Give feedback.
All reactions