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. Codeforces Round #740 Div. 2

    题目跳转链接 A. Simply Strange Sort 题意 定义一个函数\(f_{i}\) : 如果\(a_i \ge a_{i+1}\) swap(\(a_i\) \(a_{i+1}\)) 定 ...

  2. List去重复

    HashSet hs = new HashSet(li1); //此时已经去掉重复的数据保存在hashset中 HashSet不能给cbx.datasource赋值,要转成list再赋值 List t ...

  3. JAVA多线程学习十一-线程锁技术

    前面我们讲到了synchronized:那么这节就来将lock的功效. 一.locks相关类 锁相关的类都在包java.util.concurrent.locks下,有以下类和接口: |---Abst ...

  4. div 根据内容自适应内容

    转载请注明来源:https://www.cnblogs.com/hookjc/ #header{ MARGIN: 0px; BORDER: 0px; BACKGROUND: #ccd2de; WIDT ...

  5. 分布式系统及CAP理论

    一.集中式系统 在学习分布式之前,先了解一下与之相对应的集中式系统是什么样的. 集中式系统用一句话概括就是:一个主机带多个终端.终端没有数据处理能力,仅负责数据的录入和输出.而运算.存储等全部在主机上 ...

  6. python篇第10天【While 循环语句】

    while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值 ...

  7. 海康PTZ云台摄像头调试之直接控制云台(C#)

    众所周知,海康的摄像头sdk较为完善,但是对于新手来说还是有点麻烦. 今天写一篇随笔给大家展示下怎么控制海康摄像头的云台(前提是有ptz云台设备) 1.sdk准备 本文基于C#的frame来开发一个p ...

  8. visual studio自动向量化

    //////////////////////////////////////////////////*SSE 和 AVX 每个都有16个寄存器SSE 有 XMM0 ~ XMM15,是128bitAVX ...

  9. php spl_autoload_register 实现自动加载

    spl_autoload_register (PHP 5 >= 5.1.2, PHP 7) spl_autoload_register - 注册给定的函数作为 __autoload 的实现 语法 ...

  10. 017 Linux 之啥是 ssh ?

    1 什么是 ssh?有什么用? (1)ssh 是一种协议 SSH(Secure Shell) 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议,利用 SSH 协议可以有效防止远程管理过程中的信 ...