# 电商 **Repository Path**: bored-and-causing-trouble/e-commerce ## Basic Information - **Project Name**: 电商 - **Description**: 基于DDD架构完成的高可用、高并发电商务平台 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-20 - **Last Updated**: 2025-11-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 电商平台 ## 项目介绍 基于**DDD(领域驱动设计)**架构完成的高可用、高并发电商平台。 ## 技术栈 - **JDK**: 1.8 - **框架**: Spring Boot 2.7.18 - **ORM**: MyBatis Plus 3.5.3.1 - **数据库**: MySQL 8.0 - **缓存**: Redis - **连接池**: Druid - **工具类**: Hutool, Guava - **JSON**: FastJSON2 ## 软件架构 本项目采用**DDD分层架构**,分为以下层次: ### 模块结构 ``` e-commerce-platform (父模块) ├── e-commerce-domain # 领域层核心模块 ├── user-domain # 用户领域 ├── product-domain # 商品领域 ├── order-domain # 订单领域 ├── payment-domain # 支付领域 ├── inventory-domain # 库存领域 ├── marketing-domain # 营销领域 ├── e-commerce-application # 应用层 ├── e-commerce-interfaces # 接口层 ├── e-commerce-infrastructure # 基础设施层 └── e-commerce-boot # 启动模块 ``` ### 架构层次 1. **用户接口层 (Interfaces)**: REST API、DTO、参数校验 2. **应用层 (Application)**: 应用服务、用例编排、事务管理 3. **领域层 (Domain)**: 实体、值对象、领域服务、仓储接口 4. **基础设施层 (Infrastructure)**: 数据库访问、缓存、消息队列 详细架构说明请查看:[系统架构设计文档](docs/architecture.md) ## 领域划分 - **用户域 (User Domain)**: 用户管理、会员管理、权限管理、收货地址 - **商品域 (Product Domain)**: 商品管理、商品分类、品牌管理、商品属性 - **订单域 (Order Domain)**: 订单管理、购物车、订单状态流转 - **支付域 (Payment Domain)**: 支付管理、退款管理、支付渠道 - **库存域 (Inventory Domain)**: 库存管理、仓库管理、库存扣减 - **营销域 (Marketing Domain)**: 优惠券、促销活动、积分系统 ## 数据库设计 数据库表结构设计文档:[数据库设计文档](docs/database-design.md) 数据库SQL脚本:[database.sql](docs/database.sql) 主要数据表: - 用户域:user, member, user_address - 商品域:product, product_category, product_sku, brand - 订单域:order, order_item, cart - 支付域:payment, refund - 库存域:inventory, inventory_log - 营销域:coupon, user_coupon, promotion ## 安装教程 ### 环境要求 - JDK 1.8+ - Maven 3.6+ - MySQL 8.0+ - Redis 5.0+ ### 安装步骤 1. **克隆项目** ```bash git clone [项目地址] cd e-commerce ``` 2. **创建数据库** ```bash mysql -u root -p < docs/database.sql ``` 3. **配置数据库连接** 修改 `e-commerce-boot/src/main/resources/application.yml` 中的数据库配置 4. **编译项目** ```bash mvn clean install ``` 5. **启动项目** ```bash cd e-commerce-boot mvn spring-boot:run ``` ## 使用说明 ### 模块说明 - **e-commerce-boot**: 启动模块,包含Spring Boot启动类和配置文件 - **e-commerce-interfaces**: 接口层,提供REST API - **e-commerce-application**: 应用层,编排业务流程 - **各领域模块**: 包含领域模型和业务逻辑 - **e-commerce-infrastructure**: 基础设施实现 ### 开发规范 1. **领域层**:只包含业务逻辑,不依赖基础设施 2. **应用层**:编排领域服务,处理事务边界 3. **接口层**:处理HTTP请求,数据转换 4. **基础设施层**:实现技术细节 ## 项目结构 ``` e-commerce/ ├── docs/ # 文档目录 │ ├── architecture.md # 系统架构设计 │ ├── database-design.md # 数据库设计文档 │ └── database.sql # 数据库SQL脚本 ├── e-commerce-domain/ # 领域层核心 ├── user-domain/ # 用户领域 ├── product-domain/ # 商品领域 ├── order-domain/ # 订单领域 ├── payment-domain/ # 支付领域 ├── inventory-domain/ # 库存领域 ├── marketing-domain/ # 营销领域 ├── e-commerce-application/ # 应用层 ├── e-commerce-interfaces/ # 接口层 ├── e-commerce-infrastructure/# 基础设施层 ├── e-commerce-boot/ # 启动模块 └── pom.xml # 父POM ``` ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 许可证 [待定]