Skip to content

Self4215/JavaWebDesignLesson_Exp_Ecommerce_02

Repository files navigation

中小型电商系统

23网络工程 尹智灏

本项目是一个基于 Spring Boot 和 Docker 的中小型电商系统实验项目。实现了用户注册登录、商品浏览、购物车、订单管理以及后台管理(日志监控、商品管理)等功能。

项目结构

src/main/java/org/self4215/
├── config/          # 安全配置 (SecurityConfig) 与全局异常处理
├── controller/      # Web 控制器 (Admin, Product, Order, etc.)
├── entity/          # 数据库实体 (User, Product, Order, Log)
├── repository/      # JPA 数据访问层
└── service/         # 业务逻辑层 (OrderService, LogService)

src/main/resources/
├── templates/       # Thymeleaf 前端模板
├── application.properties # 应用配置
└── data.sql         # 初始数据脚本

运行步骤

  1. 拉取镜像

    在终端中运行以下命令:

docker pull ghcr.io/self4215/javawebdesignlesson_exp_ecommerce_02:latest
  1. 创建配置文件

(1) 创建 .env 文件

为了安全起见,我们将敏感配置放入环境变量中。

在任意目录下创建一个名为 .env 的文件,并填入以下内容(或者参考源码内的 .env.example 文件):

# 务必在生产环境中修改以下密码

# Database Configuration
MYSQL_DATABASE=ecommerce_db
MYSQL_ROOT_PASSWORD=your_secure_password

# Application Database Connection
DB_HOST=mysql
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=your_secure_password

(2) 第二步:创建 docker-compose.yml 文件

在同一目录下创建一个名为 docker-compose.yml 的文件,并填入以下内容:

version: '3.8'

services:
  mysql:
    image: mysql:8.4
    container_name: ecommerce-mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
    volumes:
      - mysql-data:/var/lib/mysql
    networks:
      - ecommerce-network

  app:
    image: ghcr.io/self4215/javawebdesignlesson_exp_ecommerce_02:latest 
    container_name: ecommerce-app
    restart: always
    ports:
      - "8080:8080"
    environment:
      - DB_HOST=${DB_HOST}
      - DB_PASSWORD=${DB_PASSWORD}
    depends_on:
      - mysql
    networks:
      - ecommerce-network

networks:
  ecommerce-network:

volumes:
  mysql-data:
  1. 启动服务

    在该目录下,运行以下命令:

docker-compose up -d
  1. 访问项目

    等待服务启动完成后,访问地址:http://localhost:8080


许可证

本项目采用 MIT 许可证

About

《网络应用架构设计与开发》课程实验 - 中小型电商系统

Resources

License

Stars

Watchers

Forks

Packages