BBS项目(一)

项目开发流程

项目分类

  • 针对互联网用户:抖音,淘宝·····
  • 针对公司内部:后台管理系统···
  • 针对给用户定制软件:比如肯德基···

项目开发模式分类

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字段(和文章表一对多关系)

注意:在确立表和表之间的关系的时候,依据是记录和记录的关系,并不是表和表的关系

自关联

比如我们的评论功能,你可以评论文章,但是可能其他用户觉得你的评论不太好想喷你,去评论你的评论,那么这里需要涉及到自关联

'''自关联'''
评论id 用户id 文章id 评论内容 评论id
1 1 1 写的真好 null
2 2 1 明明写的不好 1
3 1 1 别骂别骂 2
4 3 1 就是写的不好 1

比如你评论了写的真好,别人就回来评论你的评论,写的不好····这其实是一种一对多的关系,外键指向自己

表关系图示


以上是BBS项目分析的全部流程,接下来实战操作~

BBS项目(一)的更多相关文章

  1. BBS项目详解(forms快速创建登陆页面,登陆验证、通过阅读器进行头像上传的预览、内存管理器)

    BBS项目涉及的知识点 django中知识点 钩子函数(局部钩子和全局钩子) 1.局部钩子就是用来做合法性校验,比如用户名有没有被使用等 2.全局的就是用来做对比校验,比如两次输入的密码是否一致 3. ...

  2. BBS项目部署

    1.准备 项目架构为:LNM+Python+Django+uwsgi+Redis   (L:linux,N:nginx,M:mysql) 将bbs项目压缩上传到:  /opt 在shell中直接拖拽 ...

  3. auth复习和BBS项目的登录(1)

    auth复习 auth组件 验证:authenticate(request,username='andy',password='123) 登录:login(request,user) 注销:login ...

  4. python 自动化之路 day 20 Django进阶/BBS项目【一】

    一.django进阶 1.django orm 增删改查 1.1.创建表: 1 2 3 >>> from blog.models import Blog >>> b ...

  5. BBS项目知识点汇总

    目录 bbs项目知识点汇总 一. JavaScript 1 替换头像 2 form表单拿数据 3 form组件error信息渲染 4 添加html代码 5 聚焦操作 二 . html在线编辑器 三 . ...

  6. BBS项目-01

    目录 BBS项目 BBS开发流程: BBS表格创建: BBS项目 BBS开发流程: BBS项目: 开发流程: 需求分析 草拟一些项目的大致技术点和流程 架构设计 架构师(框架 语言 数据库 缓存数据库 ...

  7. 小福bbs—项目系统设计与数据库设计

    这个作业属于哪个课程 班级链接 这个作业要求在哪里 作业要求的链接 团队名称 小福bbs 这个作业的目标 实现对校园论坛软件的制作,使其能够发布帖子,查看信息等 作业的正文 小福bbs--项目需求分析 ...

  8. 小福bbs——项目需求分析

    # 一.简单了解 这个作业属于哪个课程 班级链接 这个作业要求在哪里 作业要求的链接 团队名称 小福bbs 这个作业的目标 第一个版本,根据项目预期情况形成 作业的正文 小福bbs--项目需求分析 其 ...

  9. day75 bbs项目☞后台管理+修改头像

    目录 一.后台管理之添加文章 二.修改用户头像 bbs项目总结 一.后台管理之添加文章 添加文章有两个需要注意的问题: 文章的简介切取,应该想办法获取到当前文章的文本内容后再截取字符 XSS攻击,由于 ...

  10. nginx之location、inmp架构详解、BBS项目部署

    本期内容概要 location lnmp架构 部署BBS项目 内容详细 1.location 使用Nginx Location可以控制访问网站的路径 但一个server可以有多个location配置 ...

随机推荐

  1. ApacheCN Java 译文集 20211012 更新

    Effective Java 中文第三版 1. 考虑使用静态工厂方法替代构造方法 2. 当构造方法参数过多时使用 builder 模式 3. 使用私有构造方法或枚类实现 Singleton 属性 4. ...

  2. js源码-数组中的push()和unshift()方法的源码实现

    人话不多,直接上代码,在代码中解析,不足之处请谅解: push() Array.prototype._push=function(...value){//在Array原型链上添加_push方法 for ...

  3. 2020-9-29 T3

    题意:给定一颗大小为 \(n(n \le 5 \times 10 ^ 4)\) 的树,保证树的生成方式随机,你需要选定两个点 \(x, y\),最小化: \[\sum\limits_{i = 1} ^ ...

  4. CF Round #669 Div2

    A 可以发现不论往怎样一个串往后加上两个 \(0\) 或两个 \(1\) 其奇数位和偶数位上的差值都是相同的.因此我们两位两位考虑这个 \(01\) 串,对于相邻两位相同那么直接留下,否则留下 \(0 ...

  5. tcp 中 FLAGS字段,几个标识:SYN, FIN, ACK, PSH, RST, URG.

    在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 其中,对于我们日常的分析有用的就是前面的五个字段.它们的含义是: 1.SYN表示建立 ...

  6. JavaIO 思维导图

    网络搜集,万分感谢!

  7. ORA-22922:nonexistent LOB value问题及listagg()函数

    1 现象及错误信息 在执行一次查询的过程,Oracle出现ORA-22922:nonexistent LOB value 的错误:根据提示,是在查询时没有找到lob对象: 2 问题分析 查看SQL,发 ...

  8. onclick="func()"和 onclick = "return func()"区别

    onclick="func()" 表示只会执行 func , 但是不会传回 func 中之回传值onclick = "return func()" 则是 执行 ...

  9. MSTP多生成树协议

    MSTP多生成树协议 目录 MSTP多生成树协议 1.MSTP(Multiple Spanning Tree Protocol)概述 2.STP.RSTP.PVST的应用缺陷 3.MSTP的主要特点 ...

  10. LVS+Keepalived群集

    LVS+Keepalived群集 目录 LVS+Keepalived群集 一.Keepalived实现原理 1. 单服务器的风险 2. Keepalived工具 3. Keepalived解决单点故障 ...