diff --git a/README.md b/README.md index 004c4c5..70e523d 100644 --- a/README.md +++ b/README.md @@ -1,141 +1,12 @@ -# GoDine - -[![Go](https://hello/workflows/Go/badge.svg)](https://hello/actions?query=workflow:"Go") -[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=blackhorseya_godine&metric=coverage)](https://sonarcloud.io/summary/new_code?id=blackhorseya_godine) -[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=blackhorseya_godine&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=blackhorseya_godine) -[![GitHub release](https://img.shields.io/github/release/blackhorseya/godine?include_prereleases=&sort=semver&color=blue)](https://hello/releases/) -![GitHub License](https://img.shields.io/github/license/blackhorseya/godine) - -GoDine is an online food ordering system designed using Golang and following the principles of Domain-Driven Design ( -DDD). The system includes multiple business domains such as User Management, Restaurant Management, Order Management, -Payment Management, and Notification Management. Each domain has clear boundaries and interacts with other domains to -provide a seamless online dining experience. - -## Project Name Explanation - -The name GoDine is derived from combining "Golang" and "Dine", representing an online food ordering system built using -Golang. This name is concise and representative, conveying the core functionality of the project, which is to provide -efficient online dining services using Golang technology. - -## Features - -- **User Management**: User registration, login, profile updates, account deletion. -- **Restaurant Management**: Restaurant information management, menu management. -- **Order Management**: Order creation, order status updates, order queries. -- **Payment Management**: Handling order payments, payment record queries. -- **Notification Management**: Sending notifications to users (e.g., order status updates). - -## Technical Details - -- **Programming Language**: Golang -- **Architecture Pattern**: Domain-Driven Design (DDD) -- **Major Modules**: - - **User Management**: Responsible for user registration, login, profile management, etc. - - **Restaurant Management**: Responsible for restaurant information and menu management. - - **Order Management**: Handles order creation, management, and tracking. - - **Payment Management**: Processes payments and manages payment records. - - **Notification Management**: Sends notifications regarding order status changes to users. - -## System Architecture Diagram - -```mermaid -graph TD - UserManagement[用戶管理] - RestaurantManagement[餐廳管理] - OrderManagement[訂單管理] - PaymentManagement[支付管理] - NotificationManagement[通知管理] - LogisticsManagement[物流管理] - - UserManagement -->|確認用戶身份| OrderManagement - RestaurantManagement -->|確認餐廳和菜單可用性| OrderManagement - OrderManagement -->|確認訂單和金額| PaymentManagement - PaymentManagement -->|通知支付結果| OrderManagement - OrderManagement -->|通知訂單狀態變更| NotificationManagement - OrderManagement -->|安排配送| LogisticsManagement - LogisticsManagement -->|更新配送狀態| OrderManagement - LogisticsManagement -->|通知配送狀態變更| NotificationManagement - - subgraph UserManagement[用戶管理] - UM[User Service] - UM --> U[User] - end - - subgraph RestaurantManagement[餐廳管理] - RM[Restaurant Service] - M[Menu Service] - RM --> R[Restaurant] - M --> MI[MenuItem] - end - - subgraph OrderManagement[訂單管理] - OM[Order Service] - OM --> O[Order] - O --> OI[OrderItem] - end - - subgraph PaymentManagement[支付管理] - PM[Payment Service] - PM --> PR[PaymentRecord] - end - - subgraph NotificationManagement[通知管理] - NM[Notification Service] - NM --> N[Notification] - end - - subgraph LogisticsManagement[物流管理] - - - LM[Logistics Service] - LM --> D[Delivery] - D --> DS[DeliveryStatus] - end -``` - -## Installation - -1. **Clone the repository**: - ```bash - git clone https://hello.git - ``` -2. **Navigate to the project directory**: - ```bash - cd godine - ``` -3. **Install dependencies**: - ```bash - go mod tidy - ``` - -## Usage - -1. **Run the service**: - ```bash - make dev - ``` -2. **Access the service**: - - API documentation is available at `http://localhost:1992/api/docs/index.html`. - -## Contribution - -We welcome contributions to this project. Please follow these steps: - -1. **Fork the repository** -2. **Create your feature branch**: - ```bash - git checkout -b feature-branch - ``` -3. **Commit your changes**: - ```bash - git commit -am 'Add some feature' - ``` -4. **Push to the branch**: - ```bash - git push origin feature-branch - ``` -5. **Create a Pull Request** - -## License - -This project is licensed under the GPL-3.0 License. See the [LICENSE](LICENSE) file for details. +## bazel 的 golang 示例 + +1. 更新依赖关系 + 参考地址: + https://github.com/bazelbuild/rules_go/blob/master/docs/go/core/bzlmod.md + bazel mod tidy +2. 包 BUILD.bazel 文件更新 + bazel run //:gazelle +3. 编译命令 + bazel build //:hello +4. 运行命令 + bazel run //:hello