刨析django----阶段项目2

前后端不分离项目

智慧超市系统

可行性分析

现在的web系统开发已经相当成熟,技术上可以采用java/python的生态圈实现一个前后端交互的超市系统。
后端再搭配一些机器学习算法实现商品的智能推荐。

开发环境

python 3.6
django2.2.12
mysql-5.7

相关技术分析

  1. haystack+whoosh
    配置全文索引
  2. django-redis
    配置内存缓存
  3. alipay-sdk-python
    支付宝付款API
    支付宝官网

需求分析

需要实现的功能

  1. 系统需实现普通用户管理员用户的登录
    1.1 普通用户,可以浏览超市的商品,只有登录时才可以加入购物车,下订单,支付等操作
    1.2 管理员用户:
    1.2.1 超市管理员,负责商品的上架、下架等操作
    1.2.2 平台管理员,负责处理用户的投诉、建议等问题

  2. 随着用户对系统的使用,系统逐渐可以向用户推荐其可能感兴趣的商品

概要设计

系统总体设计

  1. 系统设计流程图

  2. 功能模块介绍
    2.1 用户模块
    注册、登录
    采用Django自带的认证系统,继承了AbstractUser类,扩展模型类的字段,创建普通用户、管理员用户
    使用内建的authenticate 验证用户的登录
    使用内建的login、logout 实现用户的登录、登出
    使用内建的login_required检测用户的登录
    Redis实现对session的缓存,
    邮件采用Django内置的send_mail()函数
    采用celery实现异步请求
    历史浏览记录使用Redis的list作为记录

    2.2 商品模块
    采用MySQL数据库存储,自定义模型类
    haystack+whoosh实现对中文商品名字的检索(全文索引)
    Nginx+fastdfs实现对图片的存储

    2.3 订单模块
    2.3.1 生成订单
    使用MySQL事务,对一组sql操作进行提交或者撤销 使 用悲观锁处理订单并发效果

    2.3.2 支付订单
    调用支付宝的支付接口

    2.4 购物车模块
    使用Redis对购物车商品进行记录缓存

详细设计

数据库设计

效果展示

总结

参考文献

天天生鲜项目

 
 
 
 
上一篇:刨析django----Nginx反向代理    下一篇:刨析django----配置全文索引

你可能感兴趣的:(后端django,django,项目2)