7.4 KiB
7.4 KiB
✨ 项目简介
本项目是一个基于 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 |
用户认证、表单处理、邮件服务 |
🌟 系统核心功能
🛍️ 用户端功能 (点击展开)
-
👤 用户中心
- 手机/邮箱注册登录,支持短信/邮箱验证码
- 微信授权登录(可选)
- 个人信息编辑(昵称、头像、性别等)
- 头像上传至腾讯云COS
- 收货地址管理(增删改查、设为默认)
- 我的收藏夹 & 浏览历史
-
🛒 购物流程
- 多级商品分类导航
- 商品列表(分页、排序、筛选、搜索)
- 商品详情页(轮播图、规格选择、用户评价)
- 购物车(添加、修改数量、删除、结算)
- 未登录用户购物车(
localStorage
支持)
-
💳 订单与支付
- 创建订单,填写备注
- 微信支付(PC端扫码、移动端JSAPI)
- 订单状态跟踪(待支付、待发货、待收货、待评价...)
- 查看订单详情与物流信息
- 取消订单、申请退款、确认收货
-
✍️ 评价系统
- 对已完成订单的商品进行评价(评分、文字、图片)
- 匿名评价选项
🔧 管理后台功能 (点击展开)
-
📊 数据看板 (Dashboard)
- 销售额、订单量、用户增长等核心指标可视化
-
📦 商品管理
- 商品分类的增删改查
- 商品信息管理(上架/下架、编辑、库存、价格)
- 商品规格与属性管理
-
📋 订单管理
- 按状态筛选和搜索订单
- 查看订单详情
- 执行发货操作(填写物流信息)
- 处理用户退款申请
-
👥 用户管理
- 查看用户列表
- 禁用/启用用户账户
-
⚙️ 系统设置
- 网站基本信息配置
- 支付接口与云存储配置
📂 项目结构
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 # 📖 你正在阅读的文件
🗄️ 数据库设计
项目数据库设计遵循电商业务逻辑,结构清晰,关系明确。
查看核心数据表 (点击展开)
表名 | 用途 |
---|---|
users |
存储用户信息 |
user_addresses |
用户收货地址 |
products |
商品基本信息 (SPU) |
product_inventory |
商品库存单元 (SKU) |
categories |
商品分类 |
cart |
购物车 |
orders |
订单主表 |
order_items |
订单详情表 |
payments |
支付记录 |
reviews |
商品评价 |
admin_users |
后台管理员 |
完整的
CREATE TABLE
SQL语句已在项目文件中提供,包含了详细的字段、索引和外键设计。
🛠️ 本地运行与部署
1. 环境准备
- 克隆项目到本地
git clone <your-repository-url> cd Online_shopping_platform
- 创建并激活Python虚拟环境
python -m venv venv source venv/bin/activate # Linux/Mac # venv\Scripts\activate # Windows
- 安装项目依赖
pip install -r requirements.txt
2. 配置
- 复制
.env.example
文件为.env
(如果提供)。 - 根据提示修改
config/
目录下的配置文件,或设置环境变量,填入你的:- 数据库连接信息
- Flask
SECRET_KEY
- 腾讯云
COS
和CDN
配置 - 微信支付商户信息
- 邮件服务器配置
3. 初始化
- 初始化数据库表结构
# 在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()"
- 创建第一个管理员账户
python create_admin.py
4. 启动!
- 运行开发服务器
python run.py
- 🎉 恭喜!现在可以访问
http://127.0.0.1:5000
查看你的电商网站了。
5. Docker 部署 (推荐)
- 确保已安装 Docker 和 Docker Compose。
- 在项目根目录下执行:
docker-compose up --build -d
- 服务将在后台启动,并通过 Nginx 代理对外提供服务。
💡 项目亮点
- 🛡️ 安全性: 全面考虑了常见的Web安全问题,如
SQL注入
、XSS
、CSRF
,并进行了有效防护。 - ⚡ 性能优化: 集成了
CDN加速
、图片懒加载
、数据库查询优化
等多种性能优化手段。 - 📱 响应式设计: 基于 Bootstrap 框架,完美适配PC和移动设备,提供一致的用户体验。
- 🧩 模块化设计: 代码结构清晰,功能高度解耦,易于维护和二次开发。
- ☁️ 云原生支持: 无缝集成云存储和CDN,为高并发和大数据量场景打下基础。
本项目为毕业设计作品,旨在展示一个完整的Web应用开发流程。
作者:林金兴 | 指导老师:[指导老师姓名]