I generated an interactive diagram to explore taskiq's codebase #497
Closed
ivanmilevtues
started this conversation in
Show and tell
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 at the very begining I found it a bit too difficult to navigate them and wrap my head around on the main flow and the main "logical" components. 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.
Taskiq's diagram:
graph LR Client_Producer_Application["Client/Producer Application"] Task_Serialization_Deserialization_Layer["Task Serialization & Deserialization Layer"] Broker_Interface_Implementations["Broker Interface & Implementations"] Worker_Service["Worker Service"] Scheduler_Service["Scheduler Service"] Middleware_System["Middleware System"] Result_Backend_Optional_["Result Backend (Optional)"] Client_Producer_Application -- "dispatches task" --> Task_Serialization_Deserialization_Layer Task_Serialization_Deserialization_Layer -- "sends serialized task" --> Broker_Interface_Implementations Broker_Interface_Implementations -- "delivers task" --> Worker_Service Worker_Service -- "processes task data" --> Task_Serialization_Deserialization_Layer Worker_Service -- "stores result/status" --> Result_Backend_Optional_ Client_Producer_Application -- "retrieves result/status" --> Result_Backend_Optional_ Scheduler_Service -- "dispatches scheduled task" --> Task_Serialization_Deserialization_Layer Task_Serialization_Deserialization_Layer -- "sends serialized scheduled task" --> Broker_Interface_Implementations Middleware_System -- "intercepts dispatch" --> Client_Producer_Application Middleware_System -- "intercepts execution" --> Worker_Service click Task_Serialization_Deserialization_Layer href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/taskiq/Task_Serialization_Deserialization_Layer.md" "Details" click Broker_Interface_Implementations href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/taskiq/Broker_Interface_Implementations.md" "Details" click Worker_Service href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/taskiq/Worker_Service.md" "Details" click Scheduler_Service href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/taskiq/Scheduler_Service.md" "Details" click Middleware_System href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/taskiq/Middleware_System.md" "Details" click Result_Backend_Optional_ href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/taskiq/Result_Backend_Optional_.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/taskiq/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