项目简介
本项目是基于Python的在线图书商城系统,主要实现网上购书功能的网站后端。支持书商开设商店,买家注册账号、充值并在各商店购买图书,涵盖下单、付款、发货、收货等完整流程,还提供多条件和精确条件的图书搜索功能。
项目的主要特性和功能
- 用户管理:买家和卖家可注册、注销、登录、登出账号及修改密码,用户可兼具买家和卖家身份。
- 店铺管理:卖家能开设多个网上商店,在店铺中新增书籍和增加库存。
- 订单流程:支持完整订单流程,订单有未付款、已付款待发货、已发货、已签收、已取消五种状态,支付超时3天自动取消。
- 资金管理:买家可充值,付款成功后,买方余额扣除书款,卖方余额相应增加。
- 搜索功能:提供多条件和精确条件搜索模式,精确搜索支持按标题、标签、作者、书本介绍查询,构建倒排索引表加速搜索,支持特定店铺内精确搜索。
- 数据正确性保障:高并发场景下,使用ORM通过会话实现与数据库通信,保证事务处理原子性,错误时可回滚修改。
- 接口测试:使用pytest对前端接口测试,新实现的搜索订单、取消订单、发货、收货、搜索书本等接口测试通过,代码覆盖率达93%。
安装使用步骤
- 安装依赖:打开终端,进入项目源码目录,使用
pip install -r requirements.txt
安装必要的Python库,如Flask、SQLAlchemy、jieba等。 - 配置数据库:在配置文件中设置数据库连接信息,包括数据库类型、主机名、用户名、密码等。运行
python bookstore/db_design/create_table.py
创建数据库表。 - 插入倒排索引数据:执行
python bookstore/db_design/insert_search_data.py
,对标题、标签、作者、书本介绍四个属性进行分词处理,并插入到倒排索引表中。 - 运行后端服务:启动后端服务脚本,运行
python be/serve.py
启动Flask服务器。 - 访问系统:打开浏览器,输入后端服务的地址,即可进行用户注册、登录、浏览图书、下单购买等操作。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】