# ecommerce-platform **Repository Path**: devilCloud/ecommerce-platform ## Basic Information - **Project Name**: ecommerce-platform - **Description**: 一个用来练习AI编程以及相关技术的电商项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-11-25 - **Last Updated**: 2026-01-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 电商平台微服务项目 ## 项目概述 这是一个基于微服务架构的电商平台项目,采用Spring Cloud Alibaba技术栈,支持分布式部署。项目包含多个微服务模块,包括用户服务、认证服务、网关服务等,适用于中大型电商平台的构建。 ## 技术栈 - **Spring Boot**: 快速构建微服务 - **Spring Cloud Alibaba**: 微服务架构支持 - **Nacos**: 服务注册与配置中心 - **RocketMQ**: 消息队列,用于服务间通信 - **MyBatis Plus**: ORM框架,简化数据库操作 - **JWT**: 用户身份验证与权限控制 - **Docker Compose**: 容器化部署 ## 项目结构 - **ecommerce-auth**: 认证服务,负责用户登录、权限控制与JWT生成 - **ecommerce-gateway**: 网关服务,处理请求路由与身份验证 - **ecommerce-user**: 用户服务,管理用户信息、地址、会员等级等 - **ecommerce-common**: 公共模块,包含通用工具类、异常处理与统一返回结构 - **docker-compose.yml**: 容器化部署配置文件 ## 快速开始 ### 环境要求 - Java 17+ - Maven 3.8+ - Docker 20.10+ - MySQL 8.0+ - RocketMQ 4.9+ ### 启动步骤 1. **克隆项目** ```bash git clone https://gitee.com/devilCloud/ecommerce-platform.git cd ecommerce-platform ``` 2. **构建项目** ```bash mvn clean install ``` 3. **启动依赖服务** ```bash docker-compose up -d ``` 4. **启动微服务** - 启动Nacos ```bash docker run -d -p 8848:8848 -p 9848:9848 --name nacos nacos/nacos-server ``` - 启动RocketMQ ```bash docker run -d -p 9876:9876 -p 10911:10911 -p 10909:10909 \ --name rocketmq --privileged=true \ -e "JAVA_OPT=-Xms256m -Xmx256m" \ -e "JAVA_OPT_EXT=-Duser.home=/opt" \ -v $(pwd)/rocketmq/data:/opt \ apache/rocketmq:latest ``` 5. **运行微服务** - 启动认证服务 ```bash cd ecommerce-auth mvn spring-boot:run ``` - 启动用户服务 ```bash cd ecommerce-user mvn spring-boot:run ``` - 启动网关服务 ```bash cd ecommerce-gateway mvn spring-boot:run ``` ## 开发规范 - **代码风格**: 遵循Google Java Style Guide - **命名规范**: 使用驼峰命名法,类名首字母大写,变量名首字母小写 - **日志记录**: 使用SLF4J进行日志记录,确保关键操作有日志输出 - **异常处理**: 使用全局异常处理器`GlobalExceptionHandler`统一处理异常 - **接口设计**: 所有REST API返回统一结构`Result`,便于前端解析 - **数据库操作**: 使用MyBatis Plus进行数据库操作,避免手动编写SQL ## 服务说明 ### 认证服务 (ecommerce-auth) - **功能**: 用户登录、JWT生成、用户同步 - **接口**: - `/api/v1/auth/login`: 用户登录 - `/api/v1/auth/refresh`: 刷新JWT令牌 - `/api/v1/auth/validate`: 验证令牌有效性 - `/api/v1/auth/user-info`: 获取当前用户信息 - `/api/v1/auth/sync-user`: 同步用户信息 ### 用户服务 (ecommerce-user) - **功能**: 用户管理、地址管理、会员等级、用户偏好设置 - **接口**: - `/api/v1/users/register`: 用户注册 - `/api/v1/users/profile`: 获取与更新用户信息 - `/api/v1/users/addresses`: 管理用户地址 - `/api/user/member`: 管理会员等级与积分 - `/api/user/preference`: 管理用户偏好设置 ### 网关服务 (ecommerce-gateway) - **功能**: 请求路由、身份验证、限流、熔断 - **特性**: - JWT身份验证 - 服务路由 - 限流与熔断机制 ## 消息队列 - **用户同步**: 使用RocketMQ进行用户信息同步,确保多个服务间用户数据一致性 ## 数据库 - **MySQL**: 存储用户信息、地址、会员等级、用户偏好等数据 - **表结构**: - `auth_user`: 认证服务用户表 - `user`: 用户服务用户表 - `user_address`: 用户地址表 - `user_member`: 会员等级与积分表 - `user_preference`: 用户偏好设置表 ## 部署建议 - **生产环境**: 使用Docker Compose或Kubernetes进行部署 - **配置管理**: 使用Nacos进行配置管理 - **监控**: 配合Spring Boot Admin进行服务监控 ## 贡献指南 欢迎贡献代码与文档,请提交PR或Issue至GitHub仓库。贡献前请阅读[贡献指南](CONTRIBUTING.md)。 ## 许可证 本项目采用Apache License 2.0协议,详见[LICENSE](LICENSE)文件。