三创网站介绍部分
创新项目
vue
************************************************************************
> File Name: 三创网站介绍部分
> Author: shaobaobaoer
> Student-Id: 16121141
> Mail: shaobaobaoer@126.com
> WebSite: shaobaobaoer.cn
> Time: Sunday, 17. March 2019 06:14PM
************************************************************************
二、网站介绍
2.1 网站概述
OneForAll 平台是以多功能为主要亮点,以全国大学生为服务群体的综合性社交平台。主要的包括了
【还请小姐姐在这边给我多吹一点】
2.2 网站设计
2.2.1 网站风格
主题:以白色与少量红色相互搭配,明黄色,橙色点色调变换图片,提示信息。网页大气美观,充满活力。
字体:字体采用五号宋体字为主,页面整洁干净。对于重要信息,采用红底白字等样式,让人一目了然。
LOGO:logo采用黄色与红色的艺术字体,同样是暖色调,给人一种温暖、耳目一新的感觉
2.2.2 网站功能规划
为了满足之前提出的种种需求,我们将网站的规划为如下几个部分。
-->
- 注册/登陆部分: 这是网站最基本的部分,使得用户能够登陆网站,查看修改个人信息,并作为用户角色与其他的一些功能模块交互。
- 板块分区: 根据我们设想的要求,将板块分为课程,留学,考研,考证板块,板块功能支持扩展,初期只有这四个板块。
- 帖子功能: 用户能够通过论坛发表,检索帖子。帖子有自己对应的板块名称。用户能够在帖子中畅所欲言,可以发提问贴,文章帖,评测贴等多种帖子类型,帖子应当支持富文本类型。其他用户可以在帖子底下回复。
- 圈子功能: 圈子功能主要是让用户能够在网络上找到与自己志同道合的人。同时,在首页,系统会更根据登陆用户经常访问的帖子类型,利用推销算法推荐一些热门圈子,增加用户友好度。
- 讲座推荐功能: 讲座推荐,应当是一种只有教务管理权限的用户才能够发表的帖子。这种帖子支持更加高级的富文本编辑,以达成宣传的目的。同样,系统会更会根据登陆用户经常访问的帖子类型,利用推荐算法推荐一些热门讲座,方便用户掌握第一手资讯。
- 活动功能: 活动是一种只有拥有活动管理员权限或者广告商权限的用户才可以发表。该帖子同样支持更高级的富文本编辑,方便活动管理员或者广告商宣传它们的活动或者产品。在首页的页面,同样会有利用推荐算法推荐给用户的热门活动。
- 赞助广告功能: 赞助广告是可由广告商权限的用户编辑的板块。广告板块在首页的右上角,帖子中等多个地方。赞助广告有多种类型,包括考研辅导班,出国辅导班,学生用品广告等等。旨在吸引广告商前来投资。系统会根据广告的种类和用户的偏好,利用机器学习算法来推荐给用户所想要的广告。同时,广告商可以设置广告投放的比例,关键词序列等选项,系统会根据不同的选项组合以及用户反馈,向广告商收取不同额度的费用。对于用户而言,他们可以将广告点x关闭,或者举报广告。对于举报过多的广告,系统会及时向管理员反馈并给予广告商劝告。通过多种方式,来达成用户-赞助商-系统运维之间的友好利益链关系。
- 后台管理功能: 对于普通用户而言,管理面板只能管理个人信息。对于拥有教务管理员权限的用户,可以访问管理页面并发布讲座推荐类的帖子。对于拥有活动管理员权限的用户,可以访问管理页面并发布新活动。对于拥有广告商权限的用户,除了可以在管理页面访问发布活动页面外,还可以访问广告管理页面。
- 论坛币功能:对于普通用户而言,可以在个人面板管理论坛币。论坛币可以通过人名币购买,或者通过解答其他用户的询问贴,由提问者提供,或者通过帮助教务管理员,活动管理员的一些任务来获得。普通用户可以利用论坛币下载一些有用的资源,或者发布提问贴等。系统对于用户所发布的优质帖子会给与论坛币奖励。
2.3 帖子板块
用户能够通过论坛发表,检索帖子。帖子有自己对应的板块名称。用户能够在帖子中畅所欲言,可以发提问贴,文章帖,评测贴等多种帖子类型,帖子应当支持富文本类型。其他用户可以在帖子底下回复。
2.3.1 帖子模块的相关功能
帖子功能应当是一个论坛中相当重要的部分之一。我们的帖子功能板块包含了如下的功能。
- 每个帖子应当被独立存储于数据库,包括了所属板块,帖子类型,发布者,发布日期,权限,以及通过富文本形式支持的内容等等数据。用户可以发表帖子,帖子的标题,内容会经过系统的自动识别,如果识别为恶意发帖信息,系统会返回给用户发帖失败的信息,并注明理由。
- 用户可以在帖子中加入论坛币悬赏功能,需要用户预付悬赏数量的论坛币来发布帖子。其他用户在回答完毕悬赏者的问题,并通过悬赏者的批准后,可以获得对应数量的论坛币。对于已有回复但悬赏者长期没有给予悬赏的情况,系统会利用一些推荐算法,甄选出最优的回答并给予回答者论坛币。
- 除了提问帖外,用户还可以发布资源帖,可以设置需要用户花费一定数量的论坛币来进行下载,系统会抽取一定比例的论坛币回收并将剩下的论坛币返回给该用户。
- 用户可以再每个帖子底下回复,回复的内容包括了用户ID,回复内容,回复日期等信息。回复内容是富文本的形式。为了满足安全性,用户在回复的时候需要填写验证码。验证码可以应用Google或者baidu的验证码服务功能,或者是利用开源的验证码库。另外,回复内容需要经过系统自动识别,如果识别为恶意回复信息,系统会返回用户回复失败的信息,并注明理由。
- 用户的回复也应当独立存储与数据库中,用户的回复与帖子是多对一的关系。
- 发布者有权隐藏自己发布帖子中的用户回复。隐藏的回复其他用户在查看的时候需要点击“查看隐藏回复”的按钮才可以查看。
- 系统管理员有权删除发布的帖子与用户的评论。
2.3.2 帖子模块的用例图
2.4 活动与讲座模块
讲座是一种只有教务管理权限的用户才能够发表的帖子。这种帖子支持更加高级的富文本编辑,以达成宣传的目的。而活动是一种只有拥有活动管理员权限或者广告商权限的用户才可以发表。该帖子同样支持更高级的富文本编辑,方便活动管理员或者广告商宣传它们的活动或者产品。两者功能在大部分上类似。
2.4.1 活动模块的相关功能
- 活动是一种特殊的帖子类型,除了帖子的基本功能之外,还包括了活动状态,活动信息,活动时间,活动地点,活动关键字等信息。它支持更加高级的富文本编辑,支持发布者上传多个附件,多张图片。并会同时显示在论坛与活动详情页中。对于教务管理员和活动管理员这两种特殊的权限,系统会每个月给予拥有该两种权限的用户一定金额的论坛币,论坛币的额度取决于该用户的等级以及活跃程度。
- 只有拥有活动管理员权限的用户才可以发布活动。广告商权限中包含了活动管理员权限。该权限需要普通用户上传相关认证才可以获得,相关认证包括了相关组织或学校,组织或学校机构盖章,活动规划表格,活动需求宣传方式等多个信息。
- 活动管理员发布活动之后,需要由系统管理员审核,审核内容主要包括了活动附件,图片,内容的合法性,准确性。并留作备案。如果审核内容出现违规项目,则会在第一时间通知活动管理员进行修改。如果审核通过,则会立即发布。此外,如果有用户举报该活动,系统管理员会对活动进行复审,并酌情删改该活动。
- 在活动日期过去之后,系统会自动将活动状态设置为已结束,并在活动页面将该活动归结到“已结束”的部分中去。活动管理员可以删除已经结束的活动,但是对已经发布的活动需要上报系统管理员才可删除。
- 活动管理员可以在活动帖子内部放置一些需要用到论坛币的功能,比如说宣传推广反馈,参加返利等。允许用户完成任务并给予用户一定额度的反馈。活动管理员需要对于拥有该种功能的活动支付一些预付款,每次用户完成任务将从这些预付款中扣去。当存款低于总预付款的一定比例的时候,系统会自动提示管理员续费。当管理员的存款被扣除完毕的时候,系统会自动将该活动的论坛币任务功能设置为不可用。并再次提示管理员。
- 用户每次查看活动,会根据活动关键字,活动地点,活动时间等相关信息,修改用户的偏好。系统会定时计算用户的偏好维度,并运用推荐算法给予用户活动推荐,让用户广泛参与进入活动中。
2.4.2 活动与讲座模块的用例图
2.5 赞助广告模块
赞助广告是可由广告商权限的用户编辑的板块。广告板块在首页的右上角,帖子中等多个地方。赞助广告有多种类型,包括考研辅导班,出国辅导班,学生用品广告等等。旨在吸引广告商前来投资。也是主要的收入来用,赞助广告模块,旨在通过多种方式,来达成用户-赞助商-系统运维之间的友好利益链关系。
2.5.1 赞助广告模块的相关功能
- 广告必须由广告管理员来发布。广告管理员权限需要由用户申请。广告管理员权限将自动获得活动管理员权限。需要递交的申请材料包括公司营业执照,公司相关信息与证明材料,主要广告投放群体等多种信息。申请材料通过系统管理员认证之后才可以通过,否则,需要用户重新递交申请材料。
- 广告管理上可以自行定义广告的内容,图片,动画,链接等。根据网站的API,自行书写或提交相关资料后由系统自动生成HTML代码,随后嵌入到网站中。系统管理员会审核广告,对于违法违规或者书写有所错误的广告,系统管理员会要求广告管理员修改广告内容。
- 赞助广告由多种类型,包括考研辅导班,出国辅导班,学生用品广告等等。赞助广告除了需要确定类型外,还需要确定关键词序列,投放比例等信息来向用户定向投放。
- 用户可以点击关闭广告,除了关闭功能外,还可以举报广告。对于举报过多的广告,系统会自动给系统管理员发送邮件,系统管理员经过核查后,会通知广告供应商。
- 用户每次点击广告,关闭或者举报广告,会根据活动关键字,活动地点,活动时间等相关信息,修改用户的偏好。系统会定时计算用户的偏好维度,并运用推荐算法给予用户广告推荐,达成用户-赞助商-系统运维之间的友好利益链关系。
2.5.2 赞助广告模块的用例图
2.6 后台管理模块
每个用户都少不了一个后台管理。对于每个权限的用户而言,管理系统都不一样。
2.6.1 后台管理模块的相关功能
- 对于普通用户而言,管理面板只能管理个人信息。个人信息包括,头像,昵称,邮箱,手机号,所在地区,所属院校,目前的状态(考研,考证,就业,出国等)以及发表的帖子与回复的帖子信息。此外管理面板也可以管理自己的论坛币,普通用户可以查看自己的论坛币的支入支出记录。并对自己发布的悬赏贴进行管理,选择最优的答案给予悬赏。
- 对于有教务管理员权限的用户,除了基本的个人信息面板之外,还有讲座信息的管理面板,管理面板可以发布讲座,删除讲座,编辑讲座。
- 对于有活动管理员权限的用户,除了基本的个人信息面板之外,还有活动信息的管理面板,管理面板可以发布活动,删除活动,修改活动。
- 对于有广告赞助商权限的用户,除了基本的个人信息面板之外,还拥有活动信息管理面板和广告信息管理面板。广告信息管理面板可以发布广告,删除广告,修改广告,以及更改广告投放的群题,关键字等,以及账单系统和用户访问统计部分。
- 对于系统管理员而言,有专门的后台管理系统,与用户独立。
2.6.2 后台管理模块的用例图
2.7 网站推广
2.7.1 基础手段
制作宣传册,海报,传单,卡片,QQ,微信,微博等方式,是一些比较基础的宣传手段。
2.7.2 SEO 优化
目前在各大引擎中,能够更具用户的偏好来设置关键词广告投放。,比较成熟的比如Google Ads,百度广告等。目前,对于大学生服务平台,社交网站,一站式服务等关键词的竞价较低,利于推广。如果考虑SEO优化,可能会在各大搜索引擎中召集到大批用户的投资商。
2.7.3 校园宣讲
由于面向的用户是大学生,因此安排校园宣讲等活动自然能够招揽到一批忠实用户。通过在大学设置宣传摊位,并推出一些活动,例如注册送小礼品,发帖增明信片等方式,稳定客户群体,增大影响力。
2.8 网站建设
2.8.1 网站开发策略
在充分考虑经济实力和现有资源的基础上,网站采用小团队开发的策略,即招募优秀且经验丰富的大学生来进行编程。充分发挥小团队的优势,在开发过程中随时做出改变,优化功能,又最大限度的节约成本。在测试方面,亦可从学校招募志愿者,最大程度上发挥本土效应。
2.8.2 网站开发关键技术
HTTPS技术
HTTPS是身披SSL外壳的HTTP。HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。
基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护。
HTTPS有如下特点:
- 内容加密:采用混合加密技术,中间者无法直接查看明文内容
- 验证身份:通过证书认证客户端访问的是自己的服务
- 保护数据完整性:防止传输的内容被中间人冒充或者篡改
NodeJs前端技术
Node 公开宣称的目标是 “旨在提供一种简单的构建可伸缩网络程序的方法”。对于当前的服务器程序存在的问题来说。在 Java和 PHP 这类语言中,每个连接都会生成一个新线程,每个新线程可能需要 2 MB 的配套内存。在一个拥有 8 GB RAM 的系统上,理论上最大的并发连接数量是 4,000 个用户。而node则最大程度上避免了这个问题。node理论上可以支持数万个并发连接。利用node中vue的框架作为我们的前端服务器是一个不二之选。
Django后端技术
Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。 Django是一个开放源代码的Web应用框架,由Python写成。Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。
Django的特点包括如下几点:
1) 强大的数据库功能:用python的类继承,几行代码就可以拥有一个动态的数据库操作API,如果需要也能执行SQL语句。
2) 自带的强大的后台功能:几行代码就让网站拥有一个强大的后台,轻松管理内容。
3) 优雅的网址:用正则匹配网址,传递到对应函数。
4) 模板系统:强大,易扩展的模板系统,设计简易,代码和样式分开设计,更易管理。
5) 缓存系统:与memcached或其它缓存系统联用,表现更出色,加载速度更快。
6) 国际化:完全支持多语言应用,允许你定义翻译的字符,轻松翻译成不同国家的语言。
Oracle数据库技术
Oracle Database是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。
Oracle数据库主要特点包括:
1.支持多用户、大事务量的事务处理。
2.在保持数据安全性和完整性方面性能优越。
3.支持分布式数据处理。将公布在不同物理位置的数据库用通信网络连接起来,组成一个逻辑上统一的数据库,完成数据处理任务。
4.具有可移植性。Oracle可以在Windows、Linux等多个操作系统平台上使用。
推荐算法
推荐算法是计算机专业中的一种算法,通过一些数学算法,推测出用户可能喜欢的东西,目前应用推荐算法比较好的地方主要是网络,其中淘宝做的比较好。所谓推荐算法就是利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西。主要有内容推荐,基于协同,基于关联规则,基于效用,基于知识,组合推荐6种主流方法。在该平台的建设中,我们主要采用的是基于内容的推荐算法。该算法推荐结果简单并易懂,主要的思想就是计算用户特征向量于被推荐项目向量之间的夹角,夹角越小,该项目越有可能推荐给用户。
2.8.3 网站安全防护
网络安全和信息化是相辅相成的,安全是发展的前提,发展是安全的保障。两者应当同步推进。作为一个一站式服务平台,用户有自己的权限去发表帖子,一些特殊的角色也有着特殊的权限,例如发表广告,发布活动等。为了创造一个和谐稳定的服务平台。需要一些全面的安全防护。包括以下几点
- 若采用云服务器部署,应当向云服务器供应商购买云防火墙,云WAF等功能。
- 若采用本地服务器部署,除了将软件上线服务器,进行相关测试之外,还应当给服务器布置相关的防火墙策略,做到前后端分离的同时,保证用户信息不会被泄露。
- 测试服务器的并发性,对于流量进行识别。在开发阶段,就要做好对DDOS攻击的识别与防御。
- 做好对已知漏洞的防护,对网站的所有页面,检测可以关键词,关键词模板。实时监测网站是否被更改。
- 在维护阶段,对网站日志进行详细审查,检测是否有SQL注入,SQL盲注,XSS跨站脚本等一系列常见的网络攻击手段,并作详细报告,一边后期修改做准备。如有可能,可以封杀IP地址。
- 了解已知威胁漏洞情报,及时了解脚本,数据库等最新漏洞,并对相关库进行升级,从而规避风险。
- 在最后所有测试完毕之后,如果有可能,将产品交给第三方的评测机构评测,根据评测结果修改安全策略。
2.9 网站开发周期
2.9.1 需求分析
- 用时: 2周
- 内容:
- 在项目报告书的基础上,细化各个模块所要执行的功能
- 绘制更加详细的流程图,用例图,类图,数据流图等
- 讨论并书写系统说明书
- 购买服务器,域名
- 向CA申请证书
2.9.2 网站开发
- 用时:2个月
- 内容:
- 根据项目报告书,系统说明书以及之前绘制的各类图表,搭建网站。
- 前端与后端同时开发,在开发的后期整合两部分的内容。
2.9.3 网站测试
- 用时: 2个月
- 内容:
- 在开发服务器上对网页进行全方位的审查,检测是否所有的资源都能正常显示,位置是否正确等。
- 更根据系统说明书,测试各个子模块的功能
- 利用自顶向下与自低向上的软件测试方法,充分测试网站。
- 之后,进行alpha测试,招募一批志愿者,现场指导志愿者来测试网站的功能。随后根据志愿者的测试汇报,来对之前设计不友好的模块进行优化。
- 优化完后,进行beta测试。在多个学校建立测试qq群,weibo讨论组等,让用户充分测试网站并汲取反馈,对问题较多的模块进行进一步的修改。
- 在各阶段的测试告一段落后,写出详尽的评估报告,整合各个测试中发生的问题与所实施的改善措施。便于之后的软件升级参考。
2.10 网站运维
网站投入运营之后,任然需要团队对网站进行实时监控,广泛收集客户意见,及时发现对网站的威胁和漏洞并予以排除于预防。维护工作主要包括如下几个方面
2.10.1 网站与性能优化
网站优化,关键字密度分析,提高搜索引擎友好度。标题页面的内容优化,排行榜实时更新。加入更多让人感兴趣的板块。分析网站代码,精简结构,减少冗余。使网站性能更加优秀,加载更加流畅。同时,根据相应的传统节日,上线多种配色方案。
有针对性的进行体验优化,降低用户操作成本,提高用户友好度。在之后将网站的静态资源搬运到CDN上,减少宽带与服务器的请求数。从而提高服务器性能。
2.10.2 用户与内容优化
在各大媒体网站,比如百度贴吧,新浪微博等地方开通认证账号。广泛听取用户意见,根据用户喜好,及时修改网站的功能,增加或者减少用户广泛要求的板块,提高用户友好度。
对用户数据采用机器学习算法,生成每个用户的喜好维度,供之后的广告,活动,讲座的推荐算法使用。
2.10.3 安全与备份
上线系统监护平台,可以从云服务商处购买或者自行利用开源代码搭建。对服务器,流量,日志进行24小时监控。对于用户的可疑操作,做到及时排查,及时处理。
作为网站的生存之本,需要对数据进行时刻的备份,以防止数据丢失。对于即将寿命到期的软件,需要及时更换,提高系统整体的稳定性。
2.11 网站demo
为了充分演示网站的相关信息,我们小组制作了网页的相关demo。jing'go
2.11.1 首页部分
在首页的左侧是推荐内容。最上为导航栏和登陆栏目。
首页中央包括了最新的一些帖子,而首页的右上角是广告位招租。其下为讲座推荐与活动图推荐。
之后的四个板块的右侧栏目与首页相似,不多做叙述。
2.11.2 课程板块
2.11.3 留学板块
2.11.4 考研板块
2.6.5 考证板块