taibai_shopping/README.md
2025-07-04 19:07:35 +08:00

211 lines
7.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div align="center">
# 🛍️ Python Flask 电商系统 🛍️
**一个功能完善、技术栈现代、可直接部署的线上电商平台毕业设计项目。**
![Python](https://img.shields.io/badge/Python-3.8%2B-blue?style=for-the-badge&logo=python)![Flask](https://img.shields.io/badge/Flask-2.x-black?style=for-the-badge&logo=flask)![MySQL](https://img.shields.io/badge/MySQL-5.7%2B-orange?style=for-the-badge&logo=mysql)![Docker](https://img.shields.io/badge/Docker-Ready-blue?style=for-the-badge&logo=docker)![Tencent Cloud](https://img.shields.io/badge/Tencent_Cloud-COS_%26_CDN-red?style=for-the-badge&logo=tencent-cloud)
</div>
---
## ✨ 项目简介
本项目是一个基于 **Python + Flask** 构建的全功能线上电商系统。它涵盖了从用户注册登录、商品浏览、购物车、下单支付到后台管理的全流程。项目架构清晰,代码结构规范,并集成了**腾讯云COS**、**CDN**等云服务,最终可通过 **Docker** 实现快速、标准化的部署。
## 🚀 技术栈概览
| 分类 | 技术 | 描述 |
| :--- | :--- | :--- |
| 🖥️ **后端** | `Python`, `Flask`, `SQLAlchemy` | 核心开发语言、Web框架与ORM |
| 🗃️ **数据库** | `MySQL` | 持久化数据存储 |
| 🎨 **前端** | `HTML`, `CSS`, `JavaScript`, `Bootstrap` | 页面构建、样式与交互逻辑 |
| ☁️ **云服务** | `腾讯云COS`, `腾讯云CDN`, `微信支付` | 对象存储、内容分发网络与支付服务 |
| 🐳 **部署** | `Docker`, `Nginx` | 容器化部署与反向代理 |
| ⚙️ **工具** | `Flask-Login`, `Flask-WTF`, `Flask-Mail` | 用户认证、表单处理、邮件服务 |
## 🌟 系统核心功能
<details>
<summary><b>🛍️ 用户端功能 (点击展开)</b></summary>
- **👤 用户中心**
- 手机/邮箱注册登录,支持短信/邮箱验证码
- 微信授权登录(可选)
- 个人信息编辑(昵称、头像、性别等)
- 头像上传至腾讯云COS
- 收货地址管理(增删改查、设为默认)
- 我的收藏夹 & 浏览历史
- **🛒 购物流程**
- 多级商品分类导航
- 商品列表(分页、排序、筛选、搜索)
- 商品详情页(轮播图、规格选择、用户评价)
- 购物车(添加、修改数量、删除、结算)
- 未登录用户购物车(`localStorage` 支持)
- **💳 订单与支付**
- 创建订单,填写备注
- **微信支付**PC端扫码、移动端JSAPI
- 订单状态跟踪(待支付、待发货、待收货、待评价...
- 查看订单详情与物流信息
- 取消订单、申请退款、确认收货
- **✍️ 评价系统**
- 对已完成订单的商品进行评价(评分、文字、图片)
- 匿名评价选项
</details>
<details>
<summary><b>🔧 管理后台功能 (点击展开)</b></summary>
- **📊 数据看板 (Dashboard)**
- 销售额、订单量、用户增长等核心指标可视化
- **📦 商品管理**
- 商品分类的增删改查
- 商品信息管理(上架/下架、编辑、库存、价格)
- 商品规格与属性管理
- **📋 订单管理**
- 按状态筛选和搜索订单
- 查看订单详情
- 执行发货操作(填写物流信息)
- 处理用户退款申请
- **👥 用户管理**
- 查看用户列表
- 禁用/启用用户账户
- **⚙️ 系统设置**
- 网站基本信息配置
- 支付接口与云存储配置
</details>
## 📂 项目结构
```
Online_shopping_platform/
├── app/ # 核心应用目录
│ ├── models/ # 📦 数据模型 (ORM)
│ ├── views/ # 👁️ 视图函数 (Controllers)
│ ├── templates/ # 📄 HTML模板
│ ├── static/ # 🎨 静态资源 (CSS, JS, Images)
│ ├── utils/ # 🛠️ 工具模块 (支付, COS, 邮件等)
│ ├── forms.py # 📝 表单定义
│ └── __init__.py # 🚀 应用工厂函数
├── config/ # ⚙️ 配置文件
├── docker/ # 🐳 Docker 相关配置
├── logs/ # 📜 日志文件
├── tests/ # 🧪 测试用例
├── requirements.txt # 📦 Python 依赖
├── run.py # ▶️ 应用启动脚本
└── README.md # 📖 你正在阅读的文件
```
## 🗄️ 数据库设计
项目数据库设计遵循电商业务逻辑,结构清晰,关系明确。
<details>
<summary><b>查看核心数据表 (点击展开)</b></summary>
| 表名 | 用途 |
| :--- | :--- |
| `users` | 存储用户信息 |
| `user_addresses` | 用户收货地址 |
| `products` | 商品基本信息 (SPU) |
| `product_inventory` | 商品库存单元 (SKU) |
| `categories` | 商品分类 |
| `cart` | 购物车 |
| `orders` | 订单主表 |
| `order_items` | 订单详情表 |
| `payments` | 支付记录 |
| `reviews` | 商品评价 |
| `admin_users` | 后台管理员 |
</details>
> 完整的 `CREATE TABLE` SQL语句已在项目文件中提供包含了详细的字段、索引和外键设计。
## 🛠️ 本地运行与部署
### 1. 环境准备
- 克隆项目到本地
```bash
git clone <your-repository-url>
cd Online_shopping_platform
```
- 创建并激活Python虚拟环境
```bash
python -m venv venv
source venv/bin/activate # Linux/Mac
# venv\Scripts\activate # Windows
```
- 安装项目依赖
```bash
pip install -r requirements.txt
```
### 2. 配置
- 复制 `.env.example` 文件为 `.env` (如果提供)。
- 根据提示修改 `config/` 目录下的配置文件,或设置环境变量,填入你的:
- **数据库连接信息**
- **Flask `SECRET_KEY`**
- **腾讯云 `COS` 和 `CDN` 配置**
- **微信支付商户信息**
- **邮件服务器配置**
### 3. 初始化
- 初始化数据库表结构
```bash
# 在Flask应用上下文中执行
flask db init # 如果使用Flask-Migrate
flask db migrate
flask db upgrade
# 或者使用自定义脚本
python -c "from app import create_app, db; app = create_app(); app.app_context().push(); db.create_all()"
```
- 创建第一个管理员账户
```bash
python create_admin.py
```
### 4. 启动!
- 运行开发服务器
```bash
python run.py
```
- 🎉 恭喜!现在可以访问 `http://127.0.0.1:5000` 查看你的电商网站了。
### 5. Docker 部署 (推荐)
- 确保已安装 Docker 和 Docker Compose。
- 在项目根目录下执行:
```bash
docker-compose up --build -d
```
- 服务将在后台启动,并通过 Nginx 代理对外提供服务。
## 💡 项目亮点
- **🛡️ 安全性**: 全面考虑了常见的Web安全问题如 `SQL注入`、`XSS`、`CSRF`,并进行了有效防护。
- **⚡ 性能优化**: 集成了 `CDN加速`、`图片懒加载`、`数据库查询优化` 等多种性能优化手段。
- **📱 响应式设计**: 基于 Bootstrap 框架完美适配PC和移动设备提供一致的用户体验。
- **🧩 模块化设计**: 代码结构清晰,功能高度解耦,易于维护和二次开发。
- **☁️ 云原生支持**: 无缝集成云存储和CDN为高并发和大数据量场景打下基础。
---
<div align="center">
<p><em>本项目为毕业设计作品旨在展示一个完整的Web应用开发流程。</em></p>
<p>作者:林金兴 | 指导老师:[指导老师姓名]</p>
</div>