Read this in other languages: English, 中文.
This repository aims to provide Golang developers with a series of practical and easy-to-use tools to help them improve development efficiency and work efficiency. These tools cover various fields, including algorithm libraries, container libraries, storage tools, file processing, Http and Websocket networks, NoSql database access, etc.
- Solution positioning: Based on solving tedious tasks outside the microservice framework, it forms a differentiated complement with the development framework.
- Easy to integrate: low connection, can be integrated with various projects, such as go-zero.
- Function focus: The tool library theme implements tools for various common functions. In order to avoid reinventing the wheel without developing your own SQL ORM, make more use of the powerful ORM solutions of the open source community. Only by standing on the shoulders of giants can you go further.
- Algorithm Module
- Cache Module
- YAML Configuration Module
- Container Module
- Database Module
- Logging Library
- Network Library
- General Utility Library
- WebSocket Client and Server Library
- Build a high-quality, high-performance Golang project
- Enhance project visibility and influence
- Goal: Ensure code quality and establish a solid foundation
- Key Metrics:
- All code is tested with
go test
andcodecover
- GitHub Star exceeds 200
- All code is tested with
- Tasks:
- Write unit tests and integration tests to ensure code functionality
- Utilize the
codecover
tool to measure code coverage and continuously improve it - Compose clear project documentation and README files
- Goal: Elevate project performance and scalability
- Key Metrics:
- Major code undergoes performance testing and meets performance expectations
- Code coverage for all code surpasses 80%
- GitHub Star exceeds 500
- Tasks:
- Identify performance bottlenecks and implement targeted optimizations
- Employ load testing tools to evaluate project performance and make continuous improvements
- Refine code structure and design to enhance code maintainability and extensibility
- Release new versions and document version change logs
- Goal: Grow the project community and expand project influence
- Key Metrics:
- GitHub Star exceeds 1000
- Establish an independent official website
- Actively participate in open-source community events
- Tasks:
- Set up community communication platforms, such as forums or QQ groups
- Organize online and offline technical exchange events to share project experiences
- Write blog posts, technical tutorials, etc., to disseminate project knowledge
- Actively participate in relevant open-source conferences and events to promote the project