logo资料库

基于node.js和MongoDB的个人博客管理系统的实现.doc

第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
资料共22页,剩余部分请下载后查看
一、题目及要求
二、概述
2.1前言背景
2.2使用工具
2.3个人网站的简单介绍
(1)用户登录注册模块
(2)首页模块
(3)文章发表
(4)收藏列表以及用户列表
三、详细设计
3.1数据库的设计
(1)User模型
(2)Post模型
(3)Comment模型
3.2数据库在终端的启动连接
3.3数据库在终端中的查询以及增删改
3.4服务端逻辑设计
3.5网站运行截图
(1)登陆注册
(2)首页
(3)发表文章
(4)所有用户
(5)文章标题效果
(6)评论
四、心得体会
参考资料:
JI A N G S U U N I V E R S I T Y 专业方向课程设计报告(软件部分) 课题名称: 个人博客管理系统的实现 学院名称: 计算机科学与通信工程学院 专业名称: 网络工程 14 班级学号: 314061004 3140610046 3140610056 小组成员: 王朝阳 乔学海 黄鸿志 指导教师: 申屠浩 2018 年 1 月
目录 一、题目及要求......................................................................................................................................................... 2 二、概述..................................................................................................................................................................... 5 2.1 前言背景...................................................................................................................................................... 5 2.2 使用工具...................................................................................................................................................... 6 2.3 个人网站的简单介绍................................................................................................................................... 7 (1)用户登录注册模块........................................................................................................................... 8 (2)首页模块........................................................................................................................................... 9 (3)文章发表........................................................................................................................................... 9 (4)收藏列表以及用户列表................................................................................................................... 9 三、详细设计........................................................................................................................................................... 10 3.1 数据库的设计............................................................................................................................................. 10 (1)User 模型.........................................................................................................................................10 (2)Post 模型..........................................................................................................................................11 (3)Comment 模型.................................................................................................................................12 3.2 数据库在终端的启动连接......................................................................................................................... 12 3.3 数据库在终端中的查询以及增删改......................................................................................................... 13 3.4 服务端逻辑设计......................................................................................................................................... 15 3.5 网站运行截图............................................................................................................................................. 16 (1)登陆注册......................................................................................................................................... 16 (2)首页................................................................................................................................................. 17 (3)发表文章......................................................................................................................................... 18 (4)所有用户......................................................................................................................................... 18 (5)文章标题效果................................................................................................................................. 18 (6)评论................................................................................................................................................. 19 四、心得体会........................................................................................................................................................... 20 参考资料:............................................................................................................................................................... 21 1
一、题目及要求 题目一:局域网简易聊天软件设计 功能要求:该聊天软件应包括服务器端程序和客户端程序两个部分, 要求实现的功能如下。 客户端实现以下功能: (1) 提供友好的客户端用户登录界面,可以模仿 QQ 开发; (2) 查询、添加好友,并显示好友列表; (3) 支持好友之间的单对单聊天,向在线成员发送消息并接受其他 成员发送过来的消息;当对方不在线时,发送离线消息并,接受其他 用户发送的离线消息; (4) 更新好友列表状态,当其好友上线或者下线时,客户端及时更 新该好友状态; (5) 更新好友列表,当有新成员加入或者有成员被删除时,客户端 及时更新成员列表; (6) 保存聊天记录; (7) 支持查询、新建、加入群的操作; (8) 支持基于群的聊天室聊天方式; (9) 在聊天室中可以选择私了,群聊等方式。 服务器端实现以下功能: (1) 当用户登录时,验证用户身份; (2) 接受新用户注册,保存用户信息等; (3) 禁止已登录用户再次登录; (4) 维护好友列表,包括添加好友验证,删除好友等; (5) 维护群的列表,包括接受加入、验证、删除等; (6) 通知客户端更新好友列表、群列表等; (7) 当用户上线或下线时,通知客户端更新用户状态; (8) 为离线客户端保存聊天记录等; 题目二:网络五子棋游戏 功能要求:该软件应包括服务器端程序和客户端程序两个部分,要求 实现的功能如下。 2
客户端功能要求: (1) 友好的用户登录界面设计; (2) 登录服务器后,请求用户列表; (3) 相其他用户发出邀请,做游戏; (4) 当用户加入或离开时,客户端接受服务器发送的成员列表,更 新用户列表; (5) 当用户开始游戏或游戏结束时,服务器通知客户端用户更新该 用户状态,客户端接受该消息后,更新该用户状态; (6) 根据五子棋的游戏规则实现五子棋的游戏功能,包括游戏判断、 画图等。 服务器端功能要求: (1) 服务器接受用户注册信息,服务器最多容纳 64 个成员,成员 信 息包括:用户名、IP 地址、端口和状态,当服务器退出时,保 存用户信息; (2) 当用户加入或退出,服务器向所有用户发送成员列表,通知客 户端更新成员列表; (3) 当用户开始游戏或者结束游戏时,服务器通知其他用户更新该 用户状态,通知客户端更新成员状态; (4) 和客户端一起维护游戏的进行,发送游戏信息。 题目三:网络词典 功能要求:网络词典服务器负责为客户端英文单词的查询服务,主要 功能包括以下几个方面: (1) 为客户端提供英文单词的汉语含义查询 (2) 管理客户端的连接 (3) 增加编辑和删除英文单词及其汉语含义 (4) 自动记录未知含义的单词 网络词典客户端负责向服务器发出英文单词的汉语含义请求,并接受 服务器发送的数据。服务器接收到客户端的请求后,在数据库中查询 该单词。如果该单词存在于服务器的数据库中,则向客户端返回该单 词的汉语含义,如果没有在数据库中查找到该单词,则服务器记录该 英文单词。 题目四:考试系统 3
功能要求: 考试系统服务器负责题库和学生信息的管理,其主要功能包括如下内 容。 (1) 试卷管理。从题库读取试卷和向客户端发送试卷 (2) 客户端管理。从数据库读取学生信息,验证学生信息。 (3) 监事考生考试状态。 (4) 评分,保存学生考试状态和成绩。 考试系统客户端负责生成试卷,其主要功能如下: (1) 登录服务器 (2) 生成试卷 (3) 考试时间计时 客户端成功连接服务器后,想服务器发送学号。服务器验证该学号是 否存在于数据库中,如果该学号存在于服务器数据库中,则向客户端 发送该学生的姓名和试卷,如果该学号不存在于数据库中,则向客户 端发送错误信息。 客户端在接收到试卷后,向服务器发送开始答辩消息,考生开始答卷, 客户端开始考试计时。考试结束是,客户端向服务器发送答题结果。 服务器在接收到客户端答题结果后,对该考生的试卷进行评分,并将 结果保存到数据库。 网络词典客户端负责向服务器发出英文单词的汉语含义请求,并接受 服务器发送的数据。服务器接收到客户端的请求后,在数据库中查询 该单词。如果该单词存在于服务器的数据库中,则向客户端返回该单 词的汉语含义,如果没有在数据库中查找到该单词,则服务器记录该 英文单词。 题目五:FTP 工具实现 功能要求:FTP 工具实现服务器端和客户端功能: (1) 良好的客户端界面 (2) 服务器文件显示界面 (3) 上传文件 (4) 下载文件 (5) 断点续传 关于题目及其设计的几点说明: ( (1) 可选择上述给定题目,也可根据自己正在从事的工作或兴趣自 4
选题目,要求必须跟网络开发相关的,如 ) 可选择上述给定题目,也可根据自己正在从事的工作或兴趣自 选题目,要求必须跟网络开发相关的,如 web 设计,网络通信 协议开发等,且需包含数据库设计及操作。 设计,网络通信 协议开发等,且需包含数据库设计及操作。 ( (2 ) 专业方向设计以分组的形式进行,自行组合,每组人数 3-4 人, 每组交一份最终设计报告,报告内容必须包括: 人, 每组交一份最终设计报告,报告内容必须包括: A . 提交详细设计报告; B. 提交用户手册报告; ( (3 ) 开发工具不限 ( (4 ) 检查方式:提交设计报告和源代码,每组做一份 PPT,并进行 答辩。 ,并进行 答辩。 ( (5 ) 在进行选题时,一个题目最多不允许超过两组。 二、概述 2.1 前言背景 网站制作通俗的来说就是网站通过页面结构定位,合理布局,图片文字处理, 程序设计,数据库设计等一系列工作的总和,也是将网站设计师的图片用 HTML (标准通用标记语言下的一个应用)方式展示出来,属于前台工程师的一项任务, 前台工程师任务包括:网站设计、网站用户体验、网站 JAVA 效果、网站制作等 工作。网站制作是策划师、网络程序员、网页设计等岗位,应用各种网络程序开 发技术和网页设计技术,为企事业单位、公司或个人在全球互联网上建设站点, 并包含域名注册和主机托管等服务的总称。网站制作需要网站虚拟空间、域名以 及动态网站的数据库这三个最基本的条件。网站虚拟空间是用来存放网站文件, 如:图片信息,html 文件,php 文件等,相当于一个硬盘空间,域名即指访问网 5
站的地址。动态网站的数据库用来存会员信息以及动态页面所用到的数据表,这 里的网站数据并非网站的 html 文件、图像信息等,指的是如网站访客提交的留 言,个人信息等,传统的静态网站无需数据库支持。随着浏览器和 W3C 标准一致 性的改善,以及无表格网页设计的认同性增加,超文件标示语言与层叠样式表共 同用作网页内容的设计已经被广泛的接受和使用。最新的标准和建议则是朝着浏 览器的能力扩充和改善发展,使之能够不需要插件程序也能够给用户传输多媒体 信息和更多的选择。 随着互联网的普及与快速发展,在中国每天都有很多新的网站在增加,拥有 个人博客网站不足为奇。很多新接触互联网的朋友,看到别人美观的网站很好奇, 自己也想建立一个,但是无从下手。“博客”即 blog,既可以指撰写网络日志 这种行为,也可以指撰写网络日志的人。 在建立个人博客网站之前,可以想想你做哪方面用,至少要有一个方向。如: 个人网络日记(写自己的学习经验、经历通过互联网分享与网友互动、认识等树 立个人品牌)、卖产品、宣传形象等等。 个人博客网站建立有两种。第一种是免费的个人博客。如新浪博客、网易博 客、天涯博客、搜狐博客等非常简单易用,不用会什么电脑知识。免费博客缺陷 多,不能设置自己喜欢的样式风格及布局,只能发文章。毕竟不是独立的。还有 一种方法,那就是建立自己独立的个人博客网站。个人独立博客网站 (特别是用 wordpress 与帝国 cms 建立的博客网站),很多都是从学习 SEO 开始建立。Node.js nodejs 作为一个新兴的前端框架,后台语言,是一个 Javascript 运行环境 (runtime)。实际上它是对 Chrome V8 引擎进行了封装。V8 引 擎执行 Javascript 的速度非常快,性能非常好。Node.js 对一些特殊用例进行了优化,提供了替代 的 API,使得 V8 在非浏览器环境下运行得更好。Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络 应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效,非常适合 在分布式设备上运行数据密集型的实时应用。Node.js 使用 Module 模块去划分 不同的功能,以简化应用的开发。 2.2 使用工具 1.Sublime Text 3 以及 IDE 插件 2.数据库 MongoDB,一种非关系型数据库 6
3.前端语言是 HTML,CSS,JS,BootStratp 4.前端打包工具 Gulp,基于 Node.js 的 web 打包工具,通过调用 nodemon 插件 实现 app.js(后端逻辑路由控制文件)修改后保存的更新,通过 browser-sync 插 件来实现对网页的代理和前端页面的自动刷新 5.后端语言是 Node.js,这是一种底层用 C++编写,语法为 JS 语法的后端开发语 言,优点是高并发,开发快速 6.后端框架是 Express 7. node.js 的工具包 2.3 个人网站的简单介绍 这次课程设计中,由于我使用的是 Mac,但是 Mac 只有 VScode,而我对这个 编程软件很不熟悉,再加上安装 Mysql 失败,所以我另辟蹊径,采用 Node.js 以及功能强大的非线性数据库 MongoDB 来实现,也正是通过这个机会,让我开始 了解后端使用 Pug 来编译生成 Html 文件是一件很方便的事。 之所以这次课程设计制作 Blog 网站,是因为自己平时爱看书,也爱分享, 总是习惯于写点东西记录自己生活的点滴,但是对于现在的年轻人,单纯的只是 7
分享到:
收藏