基于nodejs+vue移动端的个人博客系统的设计与实现python-flask-django-php

 
全文首先分析了课题的研究背景和研究现状,然后根据系统开发流程分析了系统的可行性和需求。然后,通过对系统总体功能模块的设计,绘制了系统的功能模块图,并设计了整个数据库的结构。根据设计的框架,实现了系统的各个功能模块。最后,对设计的系统进行测试。测试结果表明,系统能够实现所需的功能,达到了预期的效果,运行状况良好。
前端技术:nodejs+vue+elementui,
Express 框架于Node运行环境的Web框架,
语言 node.js
框架:Express
前端:Vue.js
数据库:mysql
数据库工具:Navicat
开发软件:VScode
视图层其实质就是vue页面,通过编写vue页面从而展示在浏览器中,编写完成的vue页面要能够和控制器类进行交互,从而使得用户在点击网页进行操作时能够正常。

代码结构讲解
 1、 node_modules文件夹(有npn install产生)
    这文件夹就是在创建完项目后,cd到项目目录执行npm install后生成的文件夹,下载了项目需要的依赖项。
2、package.json文件
     此文件是项目的配置文件(可定义应用程序名,版本,依赖项等等)。node_modules文件夹下的依赖项是从哪里知道的呢?原因就是项目根目录下的这个package.json文件,执行npm install时会去找此文件中的dependencies,并安装指定的依赖项。
3、public文件夹(包含images、javascripts、stylesheets)
      这个文件夹做过Web开发的应该一看就知道,为了存放图片、脚本、样式等文件的。
4、routes文件夹
      用于存放路由文件。
5、views文件夹
      存放视图。   
博客系统是能够让网民记录分享和学习的一个网站,在博客中我们可以发表文章对感兴趣的事情进行讨论。而基于移动端的个人博客系统的设计是就为了迎合广大用户需求创建的一个界面简洁、有定向内容、业务逻辑简单易操作的博客系统。本文以博客系统的设计与实现为例,提出了利用Android 平台开发设计和实现个人博客应用的思想,并对其制作过程和结果进行了研究和展示。个人博客系统是基于B/S架构模式,有针对性地采用uniapp 与express框架,管理员数据库系统选用MYSQL数据库。系统主要分为前端用户和后台管理员两个部分,用户功能模块包括个人中心、博客信息、我的收藏管理、在线客服、我要发贴、我的发帖等功能模块;管理员包括个人中心、用户管理、博客信息管理、博客分类管理、博客论坛、系统管理等功能模块。目录
第1章 概 述 3
1.1 课题研究背景 3
1.2 国内外研究现状 3
1.3 课题研究的意义 4
第2章 系统开发技术介绍 5
2.1 Android技术 5
2.2 MySQL数据库 5
2.3 express框架 6
2.4 B/S架构 6
2.5 运行环境 6
2.6 本章小结 7
第3章 系统分析 8
3.1 可行性分析 8
3.1.1 经济可行性分析 8
3.1.2 技术可行性分析 8
3.1.3 操作可行性分析 8
3.2 系统现状分析 8
3.3 功能需求概述 9
3.4 用例分析 10
3.5 本章小结 11
第4章 系统设计 12
4.1 详细设计 12
4.2 架构设计 12
4.3 系统架构类图 14
4.4 数据库设计 15
4.4.1 数据库E-R图 15
4.4.2 数据库表 16
4.5 本章小结 20
第5章 系统实现 21
5.1 App前台功能的实现 21
5.1.1登录界面的实现 21
5.1.2注册界面的实现 21
5.1.3系统首页功能的实现 22
5.1.4博客信息 23
5.1.5用户功能 24
5.2 APP后台管理员的实现 24
5.3 本章小结 28
第6章 系统测试 29
6.1 对功能的测试 29
6.2 用例测试 29
6.3 性能测试 30
6.4 测试结果分析 30
6.5 本章小结 30
结 论 31
参考文献 32
致 谢 33

第1章 概 述
1.1 课题研究背景
如今博客系统越来越成熟,当今社会也正快速向信息化社会发展,开发个人博客有着举足轻重的意义。第一个就是能记录和展示自己,不同于朋友圈、空间、微博,个人博客可以更加充分的地记录和展示个人,具备个性化的定制功能。既方便功能扩展又不拘一格,可以更好的体现个人技术水平。
如今,人们通过网络可以做很多事情,比如最近很流行的在线学习、居家办公,博客网或许也可以做到人人们随时随地学习,也可以交到更多的朋友。在博客网上,论坛都是分类划分,只要登上博客网,我们总能找到自己喜欢的事情。本文介绍的基于移动端的个人博客就是基于论坛的模式而开发,它是一个提供广大用户的交流平台,用户可以在该平台获取最新动态,不仅可以结识更多的好友,为用户提供多姿多彩的休闲体验和探讨信息的交流,还可以发表一些技术性的文章,供人们讨论,相互学习。
1.2 国内外研究现状
曾经,博客贴吧也是一个非常火热的互联网社区平台,可以称得上占据了中国互联网的“半壁江山”。博客是以兴趣爱好一致的一些人群互动的平台,同好网友聚集在这里交流话题、自我展示、结交朋友,涵盖了娱乐、游戏、小说、生活等方方面面。
而如今,随着短视频、还有各大聊天平台的兴起,曾经热门的社区竟渐渐没落,那这个一度被网友们称为是“互联网文化发源地”的博客社区为什么会跌落神坛,招致流失用户的?这或许和博客用户自身是离不开的,移动互联网时代都是“得用户者得天下”,新的社交平台不断涌现,抖音、知乎、微博等平台吸引了大量年轻人的涌入。
据相关数据统计,我国年龄在30-39岁网民数量最多,占20.4;20-29岁和40-49岁的网民数量分别为19.9%和18.7%。如此一来,贴吧的年轻用户一流失,还剩下的贴吧用户便寥寥无几。当然,贴吧衰落的更为重要的原因,可能是在于它自身内部管理方面比较混乱,以及在内容方面造成了用户的使用疲倦以至于不断流失。例如,贴吧在很早就推出一项名为 “贴吧推广”的业务,它具体的操作就是将广告分别为版头广告,贴吧主题列表页和帖子详情页都挂满了广告,在贴吧中交流或浏览,平均每10条帖子就会覆盖3条广告。
另外,在内容方面,由于贴吧会员的成本较低,而且,新会员发帖质量低,大多为无意义的水贴,使用户体验感逐渐下降。而贴吧的管理团队对于这些问题一直都没有拿出有效的办法来解决,让许多老用户也对贴吧的好感荡然无存,再加上一些众所周知的原因,它的日渐衰落或许只是时间问题。
虽然属于博客的时代已经过去了,但也不乏一些优秀的博客网站如今还拥有着广大的用户群体,比如受程序员群体喜爱的CSDN博客网,CSDN几乎是专门为程序员们打造的一个技术网站,很多IT技术大牛在该网站分享自己的技术经验,供网友们学习和交流技术。目前,博客有几方面的作用:一是一种个人人际交流方式;二是以个人为中心的信息过滤和知识的管理;三是以个人为中心的传播出版。所以,我认为我们目前比较缺乏的是比较优质量的以人为中心的信息过滤管理的供网友交流和学习博客社区。
1.3 课题研究的意义
我们在平常的学习和生活中经常会多次遇到同一个问题,这次解决完了下次遇到可能还会忘,每次遇到同一个问题都要花时间去解决,浪费了很多时间,所以,我希望通过博客写作把自己遇到的问题和解决的思路记录下来,以记录自己学习的成长,还有,随着网络的飞速发展,我们也忽略了老年群体,一部分老年群体对上网可能会觉得有点困难,眼花缭乱的功能界面使得他们很难操作,,在生活上造成了很大的不便,在此,为了方便广大的老年客户的需求,我专门构建一款功能简洁且基于移动端的个人博客系统。
章主要从经济、技术和操作上对系统进行分析,由于本系统的特殊性,我们只需重点对技术和操作可行性进行分析,可以从一下几个方面进行分析。
3.1 可行性分析
3.1.1 经济可行性分析
由于开发本系统主要是为了测试自身的专业和设计能力,基本不考虑经济效益和后来的发展方向,只注重自身水平和设计能力的提高,并且对自身经济的要求也不高,只要有一台普通电脑就可以了,所以不需要考虑经济问题。
3.1.3 操作可行性分析
系统的登录界面和业务逻辑简洁明了,采用一般的界面窗口来登录界面,整个系统更加人性化,用户操作更加简洁方便。本系统在操作和管理上比较容易,还具有很好的交互性等特点,在操作上是非常简单的[8]。因此,本系统可以进行设计开发。通过电脑进行访问操作,用户一定能够很快就会对系统熟悉,尤其对老年群体,稍微简单了解下本系统,就能很快上手。
3.2 系统现状分析
由于系统开发出来后使用的人数众多,对于这些用户在管理上会给系统带来繁重的工作量。最后通过前期的调研总结出对现有管理状况分析如下:
(1)缺少统筹规划
系统管理中对标准化、安全性、整体性等方面不够完善,不可避免要投入大量的时间精力和人力去规划好网站后续发展,要实现统一规划就必须引入信息规范化管理后才能实行,本系统充分考虑用户的体验感,突出重点慢慢推进。
(2)业务逻辑繁琐
随着互联网技术越来越成熟,个人博客系统不断更新迭代,现在许多个人博客系统的界面和业务逻辑都太追求复杂和技术,往往忽略了用户体验,一个好的系统不在于它的功能是否新颖,它的逻辑代码是否复杂,而是在于它是否有一个简洁的界面和简单的业务逻辑,让用户操作起来更简单。
(3)内容定位模糊
除了系统体验之外,好的内容才是各网民最在意的,现在许多个人博客系统是面向所有群体的,既然是面向所有的网民,那么各个网民想表达的想法也是层出不穷的,所以就会造成系统的文章内容是各式各样、参差不齐的,系统就没有自己的特点,没有内容特点也就没有了优势,所以系统的内容必须要有精确的定位。
(4)当前扩展性不高
设计本系统时考虑到开放性和兼容性上的问题,要在将来具备扩充的可行性。做到信息更新及时,能够解决系统信息更新迭代,增强用户的体验感。
对于以上陈述,对建设的目标要从实际工作中出发,具体表现如下:
一、系统集信息管理与测评为一体,信息及时更新,功能更强大;
二、系统使用更先进,技术架构成熟,能保证安全与稳定的运行;
三、系统内容定位精确;
四、系统业务逻辑简单易操作,通过详细论证来确定系统总体的需求。
3.3 功能需求概述
系统功能需求包含业务需求、功能需求和用户需求;对系统的功能上的需求分析是指通过了解开发的技术与实力,用户的习惯等各因素的前提下进行分析,了解最基本的需求后,基本功能如下:
本课题要求实现优质的个人博客系统,就一定要包含有数据库、服务器相联系,从而实现系统的功能运转。系统分为用户和管理员两个角色,用户包括系统登录注册、个人信息和密码修改和对博客信息、我的收藏、在线客服、我要发贴、我的发帖等功能进行操作;管理员包括登录注册、个人信息修改、用户管理、博客信息管理、博客分类管理、博客论坛、系统管理等功能。
功能模块具体实现:
(1)用户管理:管理员可以对用户进行注销,或者编辑用户信息。
(2) 博客信息管理:管理员可以输入博客标题,选择博客分类和是否通过等信息来查询,新增或删除博客信息详情,并进行详情,修改,查看评论和删除操作。
(3) 博客论坛:管理员可以输入帖子标题来查询,新增或删除博客论坛信息详情,并进行详情,修改,查看评论或删除操作。
 图3-1 系统功能结构图
3.4 用例分析
(1)用户管理

表3-1 用户管理用例分析
用例名称 前置条件 操作步骤
用户管理 系统登录正常,网络连接正常。 (1)管理员打开系统。
(2)进入登录页面,输入用户名及密码。
(3)登录成功进入系统主面。
(4)单击用户进入用户管理界面。
(5)单击查询按钮,进入用户查询结果显示界面。
(6)按提示,对用户信息进行添加,删除和修改等操作。

(2)管理员管理
表3-2 管理员管理用例分析
用例名称 前置条件 主要操作
管理员管理 系统登录正常,网络连接正常。 (1)管理员打开系统。
(2)进入登录页面,输入用户名及密码。
(3)登录成功进入系统主界面。
(4)单击进入管理员管理界面。
(5) 单击查询按钮,进入管理员查询结果显示界面。
(6)按提示,对管理员信息进行添加,删除和修改等操作。
(7)更新管理员信息表。
3.5 本章小结
本章主要是对系统进行分析,主要介绍了可行性分析、功能需求分析、用例分析、运行环境等。

第4章 系统设计
本章将从系统架构设计、系统业务流程两个方面具体介绍软件部分的设计方案。
4.1 详细设计
登录模块有许多规则,这些规则是用来限制用户权限的,没有登录账号的用户除了浏览文章之外不可以对网站进行操作,用户进入系统前要进行登录,登录成功后方可对相关权限的操作。登录流程如下所示。


图4-1系统登录流程图
4.2 架构设计
 架构设计目标如下:
(1)可行性。系统的开发一定是在架构的设计基础上。
(2)可靠性。对企事业单位的管理来讲,系统的可靠性非常重要,所以对系统架构设计上就必须具备相当高的可靠性。
(3)安全行。由于大量的数据都是存储在数据库中,这些数据价值高,所以对系统数据库的安全性要特别重视。
(4)可扩展性。在原有的技术上增加一些功能,这样能够逐渐完善网站。
(5)可维护性。在可维护性方面体现在:一是跟踪现有的错误,二是导入新功能需求到系统上,以便减少运营成本。
(6)可升级性。系统能够进行更新迭代,使用户有更好的上网体验。
下面我们将根据架构设计原则和目标来建立系统的架构设计模型。将信息系统中对象分层,可分为三层:用户界面层、业务层、数据访问层(如下图4-2所示),再把各层中的一些公共部分提出来:权限管理、异常处理,这样得到包图如图4-3所示:
 4.4.2 数据库表
本系统采用MySQL管理数据,系统使用的数据表具体展示部分如下所示。
表4-1:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP

表4-2:token表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
userid bigint 用户id
username varchar 100 用户名
tablename varchar 100 表名
role varchar 100 角色
token varchar 200 密码
addtime timestamp 新增时间 CURRENT_TIMESTAMP
expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP

表4-3:博客信息评论表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
refid bigint 关联表id
userid bigint 用户id
avatarurl varchar 200 头像
nickname varchar 200 用户名
content longtext 4294967295 评论内容
reply longtext 4294967295 回复内容

表4-4:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值

表4-5:在线客服
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
adminid bigint 管理员id
ask longtext 4294967295 提问
reply longtext 4294967295 回复
isreply int 是否回复

表4-6:博客信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
bokebiaoti varchar 200 博客标题
bokefenlei varchar 200 博客分类
bokefengmian varchar 200 博客封面
bokeneirong longtext 4294967295 博客内容
faburiqi date 发布日期
yonghuzhanghao varchar 200
yonghuxingming varchar 200
gexingqianming varchar 200 个性签名
sfsh varchar 200 是否审核 否
shhf longtext 4294967295 审核回复
thumbsupnum int 赞 0
crazilynum int 踩 0
clicktime datetime 最近点击时间

表4-7:博客分类
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
bokefenlei varchar 200 博客分类

表4-8:用户
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuzhanghao varchar 200 用户账号
mima varchar 200 密码
yonghuxingming varchar 200 用户姓名
touxiang varchar 200 头像
xingbie varchar 200 性别
nianling int 年龄
shouji varchar 200 手机
youxiang varchar 200 邮箱
gexingqianming varchar 200

表4-9:收藏表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
refid bigint 商品id
tablename varchar 200 表名
name varchar 200 名称
picture varchar 200 图片
type varchar 200 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) 1
inteltype varchar 200 推荐类型
remark varchar 200 备注

表4-10:博客资讯
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture varchar 200 图片
content longtext 4294967295 内容

表4-11:博客论坛
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 帖子标题
content longtext 4294967295 帖子内容
parentid bigint 父节点id
userid bigint 用户id
username varchar 200 用户名
avatarurl varchar 200 头像
isdone varchar 200 状态

4.5 本章小结
本章主要对系统总体进行设计,针对系统的各个功能模块进行说明,给出各个子程序的设计流程图,包括系统主程序、系统设,主要进行了系统的架构设计、数据库设计等。

第5章 系统实现
5.1 App前台功能的实现
5.1.1登录界面的实现
首先双击打开App,连上网络之后会显示出本系统的登录界面,这是进入App的第初始页面“登录”,能成功进入到该登录界面则代表App的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能。
 第6章 系统测试
对系统的测试贯穿了整个系统开发的过程,在系统开发中起着重要的作用。系统测试必须贯穿系统软件的整个生命周期,尽快介入测试,能更快地发现错误,减少错误修复的时间成本。系统的测试一般包括对接口的测试、功能的测试、安全性测试、性能的测试和兼容性的测试。
6.1 对功能的测试
想要进行功能测试要熟悉业务需求,对功能的测试内容如下表所示:

6.2 用例测试
用例测试内容包括:可操作性、可理解性、可学习性等方面。用例尽量覆盖已有需求或者潜在需求,尽量对系统测试全面。执行用例时要严格按照用例进行测试。具体测试方面如表6-2所示。
表6-2 系统用例测试
编号 用例名 操作方法 预算结果 检测结果
1 用户登陆 填写用户名和密码 正确输入用户名和密码后跳转到系统主界面;用户名或密码不正确将跳出提示对话框 预期结果达成
2 个人博客信息添加 输入个人博客信息,点击“添加”按钮 正确存储个人博客信息 预期结果达成
3 查询个人博客信息 查看列表,按条件筛选合适的信息进行详查 个人博客信息显示正确 预期结果达成
6.3 性能测试
性能测试主要是为了模拟系统在多人使用的运行环境中测试系统的性能最大的承受压力。对关键的技术指标表示支持系统的运行速度,网络顺畅和并发的数量。当多个人使用时,系统不会崩溃。
(1)运行的速度:测试在不同计算机上运行时没有出现死机的情况。
(2)响应的时间:对最快,平均和最大的响应时间。经过测试,局域网应答时限参数能满足用户的需求,属于正常承受范围。
(3)支持并发节点数:系统在并发节点上达到45个时,网络运营的速度波动较大,时间延迟十秒之间,符合客户需求。
6.4 测试结果分析
通过对以上测试结果的分析,该系统符合个人博客的需求和需求。实现了所有的基本功能点,操作简单,操作过程是满足业务需求的推广软件,产品运行性能良好,大众化。
6.5 本章小结
本章主要阐述对本系统的具体测试工作,侧重功能和性能这两个方面对系统进行测试,严格遵守现代软件开发流程,使得对软件的测试能够贯穿到整个软件的开发周期,尽早的介入测试也能够尽快的发现系统的错误,能够降低系统修复的成本。

结 论
系统的开发通过简单明了的方式实现个人博客信息管理和系统管理,主要论述怎样利用Android技术来开发出对界面简洁、性能优化、可扩展性强和安全可靠操作简单的个人博客。系统主要分为用户和管理员两部分,用户包括登录注册、个人信息修改;对博客信息和博客论坛等功能进行管理;管理员包括个人信息修改,对博客信息、博客分类、博客论坛和系统等功能进行管理。然后根据这些功能对系统进行分析设计,对所用到Android、nodejs、mysql和B/S结构等相关技术进行介绍,接着进行需求分析的描述。接着是概要设计和详细设计。描述系统功能实现的方案及过程,以及如何实现系统的测试工作和后期系统的维护。
该设计实现了个人博客系统,根据整体的设计实现了个人博客的基本功能。由于时间有限和我学到的东西,系统仍需要在很多地方进行改进,而且还有很多我还没有接触过的功能。我将在接下来的时间里逐步却说加强并完善。

致 谢
在这次毕设的开发过程中遇到重重困难,但幸运的是经过我的思考和不停地尝试解决问题,还有在导师的细心指导下我终于圆满地完成了此次毕业设计。在此,我深深地感谢我的导师,每次遇到难题时,我的导师总是会耐心给我解答,他每时每刻的督促使我不敢有丝毫的怠慢,在您的细心指导下我才能快速的掌握系统的相关功能,在您的大力指导下我才能将课本上的知识与自己所设计的系统相结合,真正的做到学以致用。感谢您牺牲自己的休息时间为我们解惑,利用其丰富的教学和项目经验对我们的每一次提问进行耐心指导。认真考虑了系统每一步的实施,发现开发一款优秀的软件绝非一朝一夕之事,需要长期的积累和经验。通过这段时间的亲身经历,我感觉自己学到了:收集、整理资料、共同协作、分析及处理问题等许多方面的知识。然后,在老师的引导和学生的帮助下,让我对这个毕设进行了更深入的思考。并花费了大量的心思和精力来完成这个系统。在这段时间里,我学到了以前没有掌握过的东西。更重要的是,我了解开发人员在开发系统软件时所需要的方法、策略和步骤。如何思考一些问题,以及如何解决它们。最终我通过这个系统的设计学到不少的东西,也接触到很多以前没有接触过的知识。同时还得到了宿友们的支持和帮助,让我重新认识了建立友情的重要性,在将来能够帮助我的事业生涯中一帆风顺!
再次感谢鼓励我的老师和朋友,以及给予我帮助与鞭策的每一个人,我会带着大学收获的知识走向社会,报校祖国!

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值