Skip to content

cccd123/online-shop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

🛒 Online Shop - 网上商城

华南理工大学网络应用架构设计与开发课程项目

一个基于 Spring Boot 开发的在线购物商城系统,实现了完整的电商核心功能。

✨ 功能特性

用户端

  • ✅ 用户注册与登录
  • ✅ 商品浏览(分类筛选、详情查看)
  • ✅ 购物车管理(添加、修改数量、删除)
  • ✅ 订单管理(下单、支付、查看订单)
  • ✅ 个人中心(信息修改)

管理端

  • ✅ 控制台数据统计
  • ✅ 商品管理(增删改查、上下架)
  • ✅ 分类管理
  • ✅ 订单管理(发货、完成)

🛠️ 技术栈

类别 技术
后端框架 Spring Boot 3.2
持久层 Spring Data JPA
模板引擎 Thymeleaf
数据库 H2 (开发) / MySQL (生产)
构建工具 Maven
Java版本 JDK 17+

🚀 快速开始

环境要求

  • JDK 17 或更高版本
  • Maven 3.6+

本地运行

# 1. 克隆项目
git clone https://github.com/YOUR_USERNAME/online-shop.git
cd online-shop

# 2. 运行项目
mvn spring-boot:run

# 3. 访问应用
# 首页: http://localhost:8080
# 管理后台: http://localhost:8080/admin
# H2控制台: http://localhost:8080/h2-console

测试账号

角色 邮箱 密码
管理员 admin@shop.com admin123
普通用户 test@test.com 123456

📁 项目结构

online-shop/
├── src/main/java/com/shop/online_shop/
│   ├── OnlineShopApplication.java    # 启动类
│   ├── DataInitializer.java          # 数据初始化
│   ├── entity/                       # 实体类
│   │   ├── User.java
│   │   ├── Product.java
│   │   ├── Category.java
│   │   ├── CartItem.java
│   │   ├── Order.java
│   │   └── OrderItem.java
│   ├── repository/                   # 数据访问层
│   ├── service/                      # 业务逻辑层
│   └── controller/                   # 控制器层
├── src/main/resources/
│   ├── application.yml               # 配置文件
│   ├── static/css/                   # 样式文件
│   └── templates/                    # 页面模板
│       ├── index.html
│       ├── login.html
│       ├── register.html
│       ├── cart.html
│       ├── checkout.html
│       ├── orders.html
│       ├── order-detail.html
│       └── admin/                    # 管理后台
└── pom.xml                           # Maven配置

🗄️ 数据库设计

ER图

┌──────────┐     ┌───────────┐     ┌──────────┐
│  users   │     │ categories│     │ products │
├──────────┤     ├───────────┤     ├──────────┤
│ id       │     │ id        │     │ id       │
│ email    │     │ name      │     │ name     │
│ password │     │ description│    │ price    │
│ nickname │     └───────────┘     │ stock    │
│ phone    │           │           │ category_id
│ address  │           └───────────│ status   │
│ role     │                       └──────────┘
└──────────┘                             │
      │                                  │
      │         ┌────────────┐           │
      └─────────│ cart_items │───────────┘
                ├────────────┤
                │ id         │
                │ user_id    │
                │ product_id │
                │ quantity   │
                └────────────┘
                        │
                        │         ┌────────────┐     ┌─────────────┐
                        └─────────│  orders    │─────│ order_items │
                                  ├────────────┤     ├─────────────┤
                                  │ id         │     │ id          │
                                  │ order_no   │     │ order_id    │
                                  │ user_id    │     │ product_id  │
                                  │ total_amount│    │ product_name│
                                  │ status     │     │ quantity    │
                                  │ shipping_* │     │ subtotal    │
                                  └────────────┘     └─────────────┘

⚙️ 配置说明

开发环境 (H2数据库)

默认配置使用内存数据库,无需额外配置。

生产环境 (MySQL)

修改 application.yml:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/shopdb?useSSL=false&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: your_password
  jpa:
    hibernate:
      ddl-auto: update

📦 部署指南

打包

mvn clean package -DskipTests

运行 JAR

java -jar target/online-shop-1.0.0.jar

使用 nohup 后台运行

nohup java -jar online-shop-1.0.0.jar > app.log 2>&1 &

📝 开发日志

  • v1.0.0 (2025-01)
    • 完成基础商城功能
    • 实现用户系统
    • 实现商品管理
    • 实现购物车和订单功能
    • 实现管理后台

👨‍💻 作者

  • 姓名: 曹丹
  • 学号: 202335450012
  • 学校: 华南理工大学
  • 课程: 网络应用架构设计与开发

📄 许可证

本项目仅供学习交流使用。


⭐ 如果这个项目对你有帮助,请给个 Star!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published