ecommerce-order-service

Introduction: Order backend for Ecommerce.
More: Author   ReportBugs   
Tags:

本项目是 Ecommerce 系统的订单(Order)子系统,用于接受用户订单。

Ecommerce 项目包括:

代码库 用途 地址
ecommerce-order-service Order 服务 https://github.com/e-commerce-sample/ecommerce-order-service
ecommerce-order-query-service Order 查询服务 https://github.com/e-commerce-sample/ecommerce-order-query-service
ecommerce-product-service Product 服务 https://github.com/e-commerce-sample/ecommerce-product-service
ecommerce-inventory-service Inventory 服务 https://github.com/e-commerce-sample/ecommerce-inventory-service
ecommerce-shared-model 共享模型,不含 Spring https://github.com/e-commerce-sample/ecommerce-shared-model
ecommerce-spring-common Spring 共享基础配置 https://github.com/e-commerce-sample/ecommerce-spring-common
ecommerce-devops 基础设施 https://github.com/e-commerce-sample/ecommerce-devops

技术选型

Spring Boot、Gradle、MySQL、Junit 5、Rest Assured、Docker、RabbitMQ/Kafka

本地构建

在本地构建之前必须完成以下步骤:

  • Pull 最新devops代码
  • 命令行进入devops项目的local/rabbitmq目录
  • 运行./start-rabbitmq.sh,用于启动 RabbitMQ,整个 Ecommerce 下的所有服务只需启动 RabbitMQ 一次
  • 进入devopsecommerce-sample/devops/local/zipkin目录
  • 运行./start-zipkin.sh,用于启动 zipkin 服务器,整个 Ecommerce 下的所有服务只需启动 Zipkin 一次
功能 命令 备注
生成 IntelliJ 工程 ./idea.sh 自动打开 IntelliJ
本地运行 ./run.sh 自动启动 MySQL,开启 HTTP 8080 端口,监听 5005 调试端口
本地构建 ./local-build.sh 启动启动 MySQL,运行所有类型的自动化测试
停止本地 MySQL ./gradlew composeDown 将清空所有数据
清空本地 MySQL ./mysql-clean-local.sh 不会重建 MySQL 实例
登录本地 MySQL ./mysql-login-local.sh
手动启动 MySQL ./gradlew composeUp
发布 sdk ./publish-sdk.sh 可以通过修改gradle.properties文件中的version指定版本

领域对象

领域对象 中文名 业务功能
Order 订单 表示用于下的订单,包含多个产品及其数量

测试策略

测试类型 代码目录 测试内容
单元测试 src/test/java 包含核心领域模型(包含领域对象和 Factory 类)的测试
组件测试 src/componentTest/java 用于测试一些核心的组件级对象,比如 Repository
API 测试 src/apiTest/java 模拟客户端调用 API

技术架构

技术架构图

部署架构

部署架构图

外部依赖

列出项目所依赖的其他系统,比如订单系统依赖于会员系统。

环境信息

列出各个环境的访问方式,数据库连接等。

编码实践

列出常用的公共的编码实践方式。

FAQ

常见问题列表

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools