天天生鲜项目需求分析——基于Django框架的天天生鲜电商网站项目系列博客(一)

系列文章目录

  1. 天天生鲜项目需求分析——基于Django框架的天天生鲜电商网站项目系列博客(一)
  2. 天天生鲜项目网站框架搭建——基于Django框架的天天生鲜电商网站项目系列博客(二)
  3. 待更新……

项目资源下载

  1. 天天生鲜电商网站项目源码Github地址(可Fork可Clone)
  2. 天天生鲜电商网站项目源码Gitee地址(可Fork可Clone)
  3. 天天生鲜电商网站项目源码压缩包下载(直接使用)
  4. 天天生鲜电商网站项目所需全部工具合集打包下载(nginx、libfastcommon、fastdfs-nginx、fastdfs)
  5. 天天生鲜电商网站项目MySql数据库文件(直接导入MySql数据库)
  6. Django1.8官方文档(中文版)

写在前面

  这个项目很早就想整理写博客了,因为在做项目的过程中自己做了详细的笔记,也踩了很多坑,但是最近这一年事情太多了,疫情、其他项目、准备考研等等,所以一直没来得及写,虽然最近也很忙,但是每周都会抽出一些时间来整理并梳理思路,争取把最好的博文带给大家。项目所有需要的工具,MySql文件等等,都是经过我的测试和使用,证明没有错误发了出来,另外还有项目的所有源码,都有我的注释等等,方便读者使用和阅读,都在上面的链接,需要即可下载。再叨唠几句话,后面就不再赘述。建议各位读者的项目开发软件/依赖包等,尽量和我下面写的我的项目开发软件环境的软件/依赖包版本一致,虽然对于版本不一致的情况我后面都有错误的总结以及对应的解决办法,但是对于新手可能不太友好。当然,如果有的同学喜欢挑战和磨练,那么对这个没有硬性要求,后面我都有对应的解决办法!由于篇幅所限,所以在后面的每篇博客不可能把所有的代码均写出来,那么读者最好下载我分享的代码对照学习,这样效果会更好。还有,整个系列博客大约17篇,囊括了所有做这个项目的所有步骤以及容易出错的地方,内容较多,希望多多关注。好了,废话不多说,开始进入主题


项目简介

  整个项目基于django框架的website,是一个电商项目,功能齐全,用户注册登录缓存放在redis,用户信息商品信息等放于mysql,使用搜索引擎框架实现搜索功能,增加其他功能,如分页,乐观锁,分布式存储等优化功能,实现接口对接付款评价等功能,大家可以使用uwsgi作为web服务器使用nginx部署。温馨提示,下载源码包大体代码不变,但是在settings里面需要修改为您的数据库地址


项目构成

  • whoosh_index:搜索引擎框架
  • utils:工具类
  • templates:html文件
  • static:静态资源文件
  • db:数据库配置
  • dailyfresh:项目整体配置
  • apps:具体功能实现
    • user:用户功能模块
    • order:购物车功能模块
    • goods:商品功能模块
    • cart:购物车功能模块

项目开发软件环境

  • PyCharm 2019.3.1
  • Django 2.0
  • PyMySQL 0.9.3
  • MySQL 5.5.15
  • Navicat Premium 12
  • redis 3.3.11
  • Redis 3.0.504
  • RedisDesktopManager 0.8.8.384


前言

  首篇博客先对整个项目的需求进行分析,其中包括用户模块、商品模块、购物车模块和订单模块等,以及其中展开的包含内容,意在使读者了解整个项目其中包含的模块以及相关功能。其次对项目的前端以及后台需要完成的功能进行图示,使读者更直观的了解我们所需要完成的工作。最后介绍一下项目部署的简单流程图和项目整体架构,旨在帮助读者更好地串联整个项目并有着更深的理解,好啦,下面我们开始第一次的学习!


一、开发流程

在这里插入图片描述

二、需求分析

2.1 用户模块

  1. 注册页
    ①:注册时校验用户名是否已被注册
    ②:完成用户信息的注册
    ③:给用户的注册邮箱发送邮件,用户点击邮件中的激活链接完成用户账户的激活
  2. 登录页
    ①:实现用户的登陆功能
  3. 用户中心页
    ①:用户中心信息页显示登陆用户的信息,包括用户名、电话和地址,同时页面下方显示用户最近的浏览的商品信息
    ②:用户中心地址页显示登录用户的默认收件地址,页面下方的表单可以新增用户的收货地址
    ③:用户中心订单页显示登陆用户的订单信息
  4. 其他
    ①:如果用户已经登陆,页面顶部显示登陆用户的信息

2.2 商品模块

  1. 首页
    ①:动态指定首页轮播商品信息
    ②:动态指定首页活动信息
    ③:动态获取商品的种类信息并显示
    ④:动态指定首页显示的每个种类的商品(包括图片商品和文字商品)
    ⑤:点击某一个商品时跳转到商品的详情页面
  2. 商品详情页
    ①:显示出某个商品的详情信息
    ②:页面的左下方显示出该种类商品的2个新品信息
  3. 商品列表页
    ①:显示出某一个种类商品的列表数据,分页显示并支持按照默认、价格和人气进行排序
    ②:页面的左下方显示出该种类商品的2个新品信息
  4. 其他
    ①:通过页面搜索框搜索商品信息

2.3 购物车模块

  1. 向购物车中添加商品
    ①:列表页和详情页将商品添加到购物车
  2. 显示购物车中的商品
    ①:用户登录后,首页、详情页和列表页显示登录用户购物车中商品的数目
  3. 购物车页
    ①:对用户购物车中商品的操作。如选择某件商品,增加或减少购物车中商品的数目

2.4 订单模块

  1. 提交订单
    ①:提交订单页面显示用户准备购买的商品信息
    ②:点击提交订单完成订单的创建
  2. 完成订单
    ①:用户中心订单页显示用户的订单信息
    ②:点击支付完成订单的支付

三、需求图示

3.1 页面图示

在这里插入图片描述

3.2 功能图示

在这里插入图片描述

四、部署分析

在这里插入图片描述

五、项目架构

在这里插入图片描述


总结

    最近几天一直在期末考试,所以没什么时间整理,今天终于考完了两科,明天没有考试,所以趁着这个时间把之前的尾巴收一收,把第一篇博客完善。第一篇博客重要就是通过文字叙述和图像描述来让我们对整个项目构成有一个更加清晰地认识,要了解我们接下来要做什么工作,由上面可以看出来整个项目所需要的知识还是比较多的,需包括前端界面的相关内容的编写、后台服务的构建(细节比较多)、数据存储与读取的方式等。下面的博客我不单单是讲解项目是如何构建起来的,更多的是通过做这个项目学习到相关知识,我会尽最大的努力写好整个系列!

扫描二维码关注公众号,回复: 12644956 查看本文章

猜你喜欢

转载自blog.csdn.net/IronmanJay/article/details/110946648