BBS项目(一)
项目开发流程
项目分类
- 针对互联网用户:抖音,淘宝·····
- 针对公司内部:后台管理系统···
- 针对给用户定制软件:比如肯德基···
项目开发模式分类
- 瀑布开发模式:通俗理解为软件/项目全开发完了测试维护更新
- 敏捷开发:开发一个功能就去测试···,等开发完了直接上线,[DevOps](什么是 DevOps?DevOps 解释 | Microsoft Azure)比较常用
Devops简介
DevOps 是开发 (Dev) 和运营 (Ops) 的复合词,它将人、流程和技术结合起来,不断地为客户提供价值。
DevOps 对团队意味着什么?DevOps 使以前孤立的角色(开发、IT 运营、质量工程和安全)可以协调和协作,以生产更好、更可靠的产品。通过采用 DevOps 文化、做法和工具,团队能够更好地响应客户需求,增强对所构建应用程序的信心,更快地实现业务目标。
DevOps生命周期
DevOps 做法
持续集成和持续交付 (CI/CD):
配置管理是指管理系统中资源(包括服务器、虚拟机和数据库)的状态。使用配置管理工具,团队能够以一种可控和系统的方式进行更改,因此降低了修改系统配置的风险。团队使用配置管理工具来跟踪系统状态并帮助避免配置漂移,即避免系统资源的配置随时间偏离为其定义的目标状态。
通过与基础设施即代码结合使用,系统定义和配置都很容易进行模板化和自动化,帮助团队大规模地操作复杂的环境。
项目开发流程
- 立项
- 需求分析:产品经理/用户提出需求
- 设计原型图(类似流程图,产品经理设计)
- 美工切图
- 技术选型,数据库、架构设计
- 前后台开发(协同开发:git)
- 对接联调
- 运维上线(测试环境)
- 测试人员测试
- 修改Bug(开发)
- 上线运行
- 迭代更新
BBS项目
需求
- 注册功能(froms,ajax提交,上传头像)
- 登录功能(ajax提交,错误信息渲染)
- 首页展示(文章,作者头像,点赞数,广告位)
- 个人站点(左侧侧边栏过滤,inclusion_tag)
- 文章页面(文章展示,点赞,点踩···)
- 后台管理(展示个人所有文章,文章增删查改,防止xss攻击)
- 修改密码,头像··
BBS表分析
设计程序
- Django2.2、MySQL5.7
数据库设计(设计表)
- 用户表(auth扩写)
- 头像字段
- 博客id字段(和博客表一对一关系)
- 博客表(个人站点)
- 博客标题
- 博客名称
- 博客样式
- 文章表
- 文章标题
- 文章摘要
- 文章内容
- 文章创建时间
- 用户id字段(和用户一对多关系)
- 分类id字段(和文章分类表一对多关系)
- 标签id字段(和标签多对多关系:考虑第三张表的创建方式)
- 文章分类表
- 分类id
- 分类名称
- 分类描述
- 博客id(和博客表一对多关系)
- 标签表:和文章多对多
- 标签id
- 标签名称
- 博客id(和博客表一对多关系)
- 点赞点踩表
- is_up:点赞点踩字段
- 点赞点踩时间
- 用户id字段(一个用户可以点多个赞/踩,一对多关系)
- 文章id字段(和文章表一对多关系)
- 评论表
- 评论内容
- 用户id字段(和用户表一对多关系)
- 文章id字段(和文章表一对多关系)
注意:在确立表和表之间的关系的时候,依据是记录和记录的关系,并不是表和表的关系
自关联
代码语言:javascript复制比如我们的评论功能,你可以评论文章,但是可能其他用户觉得你的评论不太好想喷你,去评论你的评论,那么这里需要涉及到自关联
'''自关联'''
评论id 用户id 文章id 评论内容 评论id
1 1 1 写的真好 null
2 2 1 明明写的不好 1
3 1 1 别骂别骂 2
4 3 1 就是写的不好 1
比如你评论了写的真好,别人就回来评论你的评论,写的不好····这其实是一种一对多的关系,外键指向自己
表关系图示
以上是BBS项目分析的全部流程,接下来实战操作~