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

Enhance OpenIM API Documentation and Design Using Kratos Principles for Elegance and Automation #1458

Closed
cubxxw opened this issue Nov 21, 2023 — with Slack · 12 comments
Assignees
Labels
api-review Categorizes an issue or PR as actively needing an API review. design Categorizes issue or PR as related to design. feature Categorizes issue or PR as related to a new feature. good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines.
Milestone

Comments

Copy link
Contributor

cubxxw commented Nov 21, 2023

Description

I am proposing an enhancement to the OpenIM API documentation and its overall design. The objective is to incorporate principles and tools from Kratos to make the documentation and API more elegant and automated. Kratos offers a set of useful tools such as one-click project generation, HTTP & gRPC code generation from protobuf, cache backsource code generation, memcache execution code generation, and swagger documentation generation. Integrating these features into OpenIM could significantly improve the user experience and development efficiency.

Specific Areas for Improvement

  1. Project Generation: Implement Kratos-like one-click project generation for OpenIM to streamline the setup process.
  2. Code Generation from Protobuf: Utilize Kratos's ability to generate HTTP and gRPC code from protobuf definitions. This would simplify and standardize the process of API creation in OpenIM.
  3. Cache and Memcache Code Generation: Integrate Kratos's mechanisms for generating cache backsource and memcache execution code, which could enhance the performance and scalability of OpenIM.
  4. Swagger Documentation: Adopt Kratos's approach to automatically generate Swagger documentation, making the API more accessible and easier to understand for developers.
  5. Installation and Usage Documentation: Update the OpenIM documentation to reflect these new features, including detailed installation and usage instructions akin to Kratos's documentation style.

Proposed Benefits

  • Streamlined Development: Reduces the time and effort required to set up and manage OpenIM projects.
  • Consistency and Standardization: Ensures uniformity in the way APIs are developed and documented across different projects.
  • Enhanced Performance and Scalability: Improved caching mechanisms can lead to better performance and scalability of the OpenIM platform.
  • Better Documentation: Making the API more approachable and understandable for new and existing developers.
@cubxxw cubxxw added api-review Categorizes an issue or PR as actively needing an API review. good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. design Categorizes issue or PR as related to design. feature Categorizes issue or PR as related to a new feature. labels Nov 21, 2023 — with Slack
@cubxxw cubxxw added this to the v3.5 milestone Nov 21, 2023 — with Slack
@cubxxw cubxxw self-assigned this Nov 21, 2023
@kubbot
Copy link
Contributor

kubbot commented Nov 21, 2023

This issue is available for anyone to work on. Make sure to reference this issue in your pull request. ✨ Thank you for your contribution! ✨
Join slack 🤖 to connect and communicate with our developers.
If you wish to accept this assignment, please leave a comment in the comments section: /accept.🎯

@cubxxw
Copy link
Contributor Author

cubxxw commented Nov 21, 2023

@kubbot
Copy link
Contributor

kubbot commented Nov 21, 2023

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Zh Dox: https://gitkhow.com/yuixiaoxiang/go-kratos/blob/master/daughter/wiki-kn/kratos-tool.md

@kubbot
Copy link
Contributor

kubbot commented Jan 21, 2024

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@cubxxw
Copy link
Contributor Author

cubxxw commented Jan 21, 2024

todo

@kubbot
Copy link
Contributor

kubbot commented Jan 21, 2024

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


all

@honlyc
Copy link
Contributor

honlyc commented Mar 6, 2024

/accept

@cubxxw cubxxw assigned honlyc and unassigned cubxxw Mar 6, 2024
@cubxxw
Copy link
Contributor Author

cubxxw commented Mar 6, 2024

@honlyc We greatly appreciate your acceptance of this issue. Please feel free to reach out if you have any questions or need assistance.

@honlyc
Copy link
Contributor

honlyc commented Mar 12, 2024

Regarding the generation of HTTP and gRPC, I've written a rough demo. Is it ok? thx
https://github.com/honlyc/openim-cmdline

@cubxxw
Copy link
Contributor Author

cubxxw commented Apr 1, 2024

@honlyc I'm sorry, we will start to review this issue right now, how are you recently

@honlyc
Copy link
Contributor

honlyc commented Apr 1, 2024

@honlyc I'm sorry, we will start to review this issue right now, how are you recently

I'm fine, Thank you. What do I need to do?

@kubbot
Copy link
Contributor

kubbot commented Jul 1, 2024

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api-review Categorizes an issue or PR as actively needing an API review. design Categorizes issue or PR as related to design. feature Categorizes issue or PR as related to a new feature. good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines.
Projects
Status: Done
Development

No branches or pull requests

4 participants