# go_server **Repository Path**: lyforvue/go_server ## Basic Information - **Project Name**: go_server - **Description**: go基础相关 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-30 - **Last Updated**: 2025-10-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README This project is a backend service project developed using the Go language, primarily utilizing the Gin framework to build API services. The project contains multiple modules such as user management, express information management, dictionary type management, MacBook-related data management, and more. Additionally, the project integrates various middleware and services, including JWT authentication, logging, email sending, Redis caching, RabbitMQ message queuing, and others. ## Features - **User Management**: Supports functionalities such as user creation, login, and information retrieval. - **Express Information Management**: Supports operations for adding, deleting, editing, and querying express information. - **Dictionary Type Management**: Supports paginated queries, saving, updating, and deletion of dictionary types. - **MacBook Data Management**: Supports data management of MacBook and its related components (CPU, memory). - **Test Express Service**: Supports batch saving and paginated querying of test express information. - **File Upload and Download**: Supports file upload and download functionalities. - **CAPTCHA Generation**: Supports generation of image CAPTCHAs and math CAPTCHAs. - **Email Sending**: Supports email sending functionality. - **JWT Authentication**: Supports user authentication based on JWT. - **Logging**: Supports detailed request logging. - **Redis Caching**: Supports data caching using Redis. - **RabbitMQ Message Queue**: Supports asynchronous message processing using RabbitMQ. ## Installation and Configuration 1. **Environment Preparation**: Ensure the Go language environment is installed and GOPROXY is configured. 2. **Install Dependencies**: Run `go mod download` to install the required dependency packages for the project. 3. **Configuration File**: Modify the configuration information in `api/expressAPI/config/application.yml` as needed, including database connection, Redis configuration, RabbitMQ configuration, and more. 4. **Start the Service**: Run `go run api/expressAPI/main.go` to start the service. ## Usage Instructions - **User Management**: Perform user creation, login, and other operations by accessing the corresponding API endpoints. - **Express Information Management**: Perform add, delete, update, and query operations on express information by accessing the corresponding API endpoints. - **Dictionary Type Management**: Perform paginated queries, saving, updating, and deletion of dictionary types by accessing the corresponding API endpoints. - **MacBook Data Management**: Manage data for MacBook and its related components by accessing the corresponding API endpoints. - **Test Express Service**: Perform batch saving and paginated querying of test express information by accessing the corresponding API endpoints. - **File Upload and Download**: Perform file upload and download operations by accessing the corresponding API endpoints. - **CAPTCHA Generation**: Generate image CAPTCHAs and math CAPTCHAs by accessing the corresponding API endpoints. - **Email Sending**: Send emails by accessing the corresponding API endpoints. - **JWT Authentication**: Perform JWT-based user authentication by accessing the corresponding API endpoints. - **Logging**: Perform detailed request logging by accessing the corresponding API endpoints. - **Redis Caching**: Perform data caching operations by accessing the corresponding API endpoints. - **RabbitMQ Message Queue**: Perform asynchronous message processing by accessing the corresponding API endpoints. ## Contribution Guide Code contributions and issue reports are welcome. Please follow the steps below: 1. Fork the project repository. 2. Create a new branch. 3. Commit your changes. 4. Create a Pull Request. ## License This project is licensed under the MIT License. For details, please refer to the LICENSE file located in the project root directory.