基于Node.js的博客文章管理系统设计与实现
摘 要
在web应用日趋发展的状况下,在社交应用中,博客的身影变得越来越频繁,通过记录博客的方式,用户可以自己记录自己的所思所想。从上世纪70年代博客诞生到2000年博客在中国普及,博客在中国的流行变得越来越普遍,用户人数也增长的很快,越来越大众化。博客在各行各业都有应用,包括了人们在生活领域的各个方面,在各种文化、军事、经济和旅游及生活方面都可以看到博客的应用和各类博客内容。博客作为一个基于网络的获取和分享人们日常生活的重要工具,有很好的研究意义。本论文首先对于博客系统的开发原理,即开发背景和设计的目的进行阐述,并对于博客开发的时候利用到的各种技术及一些开发工具进行介绍。在论文的系统分析模块,对于系统的构建模型进行简单展现,并展示本项目的运行流程,结合网络上已有的各种Node.js模块和当前的技术条件,对本博客的开发可行性进行证明。在系统设计实现的部分,由需求分析中得到各类信息,对博客系统的不同功能进行模块分解和数据结构的构建,利用用例图,数据流图等工具进行更深层次的说明。之后会对开发后的系统进行分类测试。最后将会展示博客在部署到远程服务器上的相关说明。本博客系统在开发中使用面向对象的编程思想,运用了MVC的设计模式与restful的api设计风格,搭建在基于Google V8引擎的Node.js运行环境上。为了与Node.js有最好的兼容性,本博客采用了Express框架对整体项目进行搭建,以ejs引擎模板渲染前端界面,使用了MongoDB非关系型数据库作为后端数据库。
关键词:博客;NodeJS;Express;MongoDB
Design and implementation of blog system based on Node.js
Abstract
In the web application development situation, in social networking applications, blog figure becomes more and more frequent, by recording the blog, the user can record their own thoughts. From the popularity of last century 70s to 2000 in the Chinese blog blog was born, blog becomes more and more common in Chinese popular users the number is growing very fast, more and more popular, the blog has applications in all walks of life, including people in all areas of life, in a variety of military culture, economy and tourism and life can see the application and all kinds of blog content . blog as a web based An important tool to obtain and share of people's daily life, has good research significance. This paper first principle for the development of the blog system, namely the development background and the purpose of the design is expounded, and the various techniques when using the blog development and development tools were introduced. Analysis module in the system, for the system construction of the simple model show, and demonstrate the operation process of the project, combined with a variety of Node.js module exists on the network and the current technical conditions, the development of the feasibility of this blog is proved. In the design and Realization of the system, get all kinds of information from the needs analysis, on the blog system Construction of modular decomposition and data structure of different functions, use case diagram, data flow diagram and other tools for a deeper explanation. After the classification test to the system development. Finally will show in the blog to deploy the instructions on a remote server. This blog system using object-oriented programming ideas in development the use of the API design style, design pattern and restful MVC, built in Google based V8 engine Node.js operating environment. In order to have the best compatibility with Node.js, this blog using the Express framework for the whole study The object is built with a EJS engine template rendering front end interface, using the MongoDB non relational database as the back-end database
Key words:Blog; NodeJS; Express; MongoDB
目 录
摘 要 I
Abstract II
1. 引 言 1
1.1. 项目背景 1
1.1.1. 什么是博客 1
1.1.2. 博客技术的现状 1
1.1.3. 为什么是NodeJS 1
1.2. 系统开发的意义 2
1.2.1. 让更多人接触NodeJs 2
1.2.2. 创新 3
1.2.3. 博客的价值 3
1.3. 系统开发目标 4
1.3.1. 可用性 4
1.3.2. 可操作性 4
1.3.3. 可扩展性 4
1.4. 系统介绍 5
1.5. 系统开发方法 5
1.6. 论文组织结构 6
2. 系统分析 7
2.1. 可行性分析 7
2.2. 需求分析 7
2.2.1. 注册界面 8
2.2.2. 登录界面 10
2.2.3. 文章管理界面 11
2.2.4. 评论管理 12
2.3. 数据分析 12
2.4. 数据流图 13
2.5. 性能规定 14
2.5.1. 性能分析 14
2.5.2. 安全性需求分析 14
2.5.3. 客户端的性能需求 14
3. 相关技术 15
3.1. NodeJS 15
3.2. ExpressJS 18
3.3. MongoDB数据库 19
3.4. EJS 22
3.5. 网络架构体系 22
3.6. MVC介绍 23
4. 系统设计 26
4.1. 数据库设计 26
4.1.1. 用户表users 26
4.1.2. 文章表posts 26
4.1.3. 评论表comments 27
4.2. 系统架构 27
4.2.1. 视图层 27
4.2.2. 业务逻辑层 28
4.2.3. 数据持久层 29
4.2.4. 其他业务逻辑 30
4.3. 系统的部署安装与配置 31
4.3.1. 安装要求 31
4.3.2. 安装Nodejs和MongoDB 31
4.3.3. 本系统的获取和安装 31
4.3.4. 系统配置 31
5. 系统测试与运行 32
5.1. 白盒测试 32
5.1.1. 测试覆盖率 35
5.2. 黑盒测试 36
5.2.1. 文章界面测试 36
5.2.2. 后台管理 37
5.2.3. 注册和登录 38
6. 项目部署 40
6.1. 云数据库 40
6.2. pm2 40
6.3. 云服务器 42
参 考 文 献 43
谢 辞 44