一、项目基本情况介绍

本项目为疫情看板——疫情宣传科普平台(原名为疫新闻——疫情宣传科普平台),主要是为了宣传有关新型冠状病毒相关政策、科普新型冠状病毒的防护知识。同时使用了可视化技术为用户形象的展示疫情的发展趋势。

二、项目演示

演示地址为:http://175.24.98.81:8085/
b站演示视频:https://www.bilibili.com/video/BV1Z5411c7yD(视频内容有待更新)

项目截图:










三、项目意义

自2019年12月份开始,新冠疫情蔓延全球,持续至今,截至2021年4月2日18时23分,全球确诊病例较前一日增加659917例,达到129215179例;死亡病例增加11626例,达到2820098例,严峻形势不可忽视。

由于新冠疫情发病严重,时至今日,确诊病例已超“非典”,此次疫情到来,一方面恐慌情绪迅速蔓延,经历过SARS的人对当年的“白色恐怖”记忆犹新,很多人为此产生巨大的心理负担;另一方面,轻视怠慢的情况普遍存在,国内14亿人口,很少对“传染病”有确切的认知。对戴口罩、勤洗手、少聚会抱以不屑;有人疫区返乡,毫无顾忌,拒绝隔离;面对疫情,坊间谣言四起;各种防传染的秘方,各种专家的建议在网络流传。我们的医护人员既要拯救病人,还要花精力来辟谣。

为了能使大家更为了解新冠疫情发展形势及发展动态,互相帮助抗击疫情,我们建立“疫情看板——疫情宣传科普平台”来帮助人们快速了解新冠疫情实时信息,互帮互助,共同抗疫。利用网络来对新冠疫情信息确切化、透明化、公开化,实现疫情实时信息共享,通过网站的形式向外输出正确、及时、稳定的当下新冠疫情消息。

四、项目内容

此项目以网站的形式向浏览者展示当下及过往的重大疫情信息,实时更新当下新的疫情动态,透明化、公开化展示疫情信息。

网站“疫情可视化”模块通过可视化的方式来展示当下国内外的疫情信息,便于公众阅读和了解最新的疫情状态。

网站“疫新闻”模块展示当下疫情官方实时新闻,及时向公众播报重要新闻。并展示实时疫情地图,便于公众更好了解当下疫情动态。

网站“谣言粉碎机”模块记录自疫情起网络上及社会上的各种谣言,并对其进行正确的解释。防止公众对有关谣言信以为真,及时遏制谣言的传播,帮助公众辨别真假新闻,帮助政府和医护人员辟谣。

网站“记疫”模块记录自疫情发展起的时间线及其发展历程,帮助公众及后者更好的了解疫情发展和解决方案。

网站“抗疫先锋”模块记录自疫情起的各界“吹哨人”、抗击疫情先锋者、抗击疫情重大贡献个人及集体。

网站“风险地区查询”用于向公众展示当下主要疫情发生地,并将病情高发、频发地区标红以区分,便于公众重新更定行程规划。

网站“疫互助”模块用于公众及单位向社会发布互助请求。集体或个人可向网站提交求助信息,由网站后台审核后发布于“疫互助”平台,由帮助者对其提供帮助,便于疫情物资及时调配,使物资分配何使用最优化、最大化。

网站“疫导航”模块通过整合官方的疫情信息查询平台使用户更方便的通过官方渠道了解疫情信息。

五、关键技术

该项目主要基于SpringBoot+Redis+Docker+Echarts实现。通过使用开源的前端框架layui和semanticui编写后台以及前台页面。后端使用Redis、SpringBoot等主流Web框架技术,部署则使用Docker容器化技术来实现。

前端:本项目的前端分为前台和后台两个部分。前台使用了semanticui进行构建。后台则使用了开源框架layui。同时使用了Echarts实现可视化效果。

后端:本项目后端使用目前主流的SpringBoot技术,同时使用了Hutool、mybatis、Thymeleaf、PageHelper等技术。

日志:本项目使用ogback来记录日志。

缓存:本项目使用主流的nosql技术redis来做缓存。

数据库:使用mysql数据库。

单元测试:使用测试框架junit进行单元测试。

部署及运维:使用Docker容器化技术进行项目的部署。

安全:使用了RSA非对称加密算法以及md5加密算法来保障项目的安全。

文件存储:阿里云OSS对象云存储

敏感词过滤:NLP自然语言处理

文章摘要:NLP自然语言处理

爬虫技术:jsoup、HttpClient

定时任务

六、作品特色

在内容方面本项目以抗疫宣传为主题构建了一个抗疫宣传平台,可以为大众科普关于疫情相关的知识并可以帮助医院或者个人调配物资,我们坚持以党的指导方针为基础,积极弘扬伟大的抗疫精神,弘扬在本次抗疫过程中凸显的英雄。同时网站接通宝贝回家计划,在错误页面显示宝贝回家相关信息,积极弘扬正能量。本项目即迎合了市场需要同时也积极的弘扬了伟大的抗疫精神。在市面上同类网站较为少见,因此本项目具有一定的竞争性。同时我们使用可视化技术实现了疫情可视化,可以让用户对疫情有更直观的感受。我们的项目在开发过程中也使用了响应式开发的方式,可以使用户在不同的平台上轻松的使用我们的网站。

在技术上,本项目使用最新的SpringBoot技术进行构建,同时使用Docker进行部署、Redis进行缓存管理、Echarts实现疫情可视化,在开发方式上使用了较为流行的前后端分离开发,符合主流的web开发趋势,同时使用阿里云OSS对象云存储存储文件并使用NLP自然语言处理相关技术进行文章摘要自动提取以及敏感词过滤。

具体的内容如下:

1、通过爬虫技术以及Echarts来构建可视化的疫情信息化平台。

2、为顺应移动互联网的发展,本项目使用响应式布局,可以在手机、电脑以及平板等多种设备上进行使用,网站布局也将根据用户使用的设备进行相应的改变,消除平台之间的差异。

3、本项目的后台部分使用前后端分离开发的方式。当前前后端分离开发已经成为web开发的主流趋势,我们在开发本项目时也采用了前后端分离的方式,在开发过程中前后端通过swagger约定好接口即可独立进行开发,提高了开发的效率。

4、Docker容器化部署。本项目使用Docker进行部署开发,方便日后的运维维护。

5、评论系统以及敏感词过滤。本项目为用户提供了评论系统并配置了敏感词过滤系统。

6、Markdown编辑器。本项目后端集成了Markdown编辑器,用户可以轻松的编写内容丰富的文章。

7、信息加密。登录页面通过RSA加密进行处理,确保用户信息的安全,同时用户密码将通过md5进行加密存储。

8、阅读模式。我们为用户提供了阅读模式,以便于保护用户的视力。

9、记疫模块。通过信息流(时间轴)的形式展现自疫情开始发生的大事件,可以清晰直观的向用户展示整个抗疫波澜壮阔的过程,同时可以很好的起到警示教育作用。

10、谣言粉碎机。我们将向用户展示近期以来出现的与疫情相关的传闻,并向用户展示这些传闻是否为谣言。

11、疫互助。我们考虑到在抗疫过程中存在物资调配的问题,所以创建该模块为医院或者遇到困难的个体提供帮助。

12、接入宝贝回家计划,为社会提供力所能及的贡献。

13、集成了多个官方信息渠道,方便用户查看。

14、使用阿里云OSS对象云存储实现文件存储

15、使用NLP自然语言处理技术进行敏感词过滤

16、使用NLP自然语言处理进行文章摘要自动提取功能

七、设计思路

根据前期的需求分析以及调查,我们设计用例图如下:

首先是访客用例图

管理员用例图

八、设计重点、难点

设计重点内容:

1、SpringBoot技术应用:SpringBoot是基于Spring框架开发而成的一款全新IOC框架,它通过约定大于配置的理念简化了程序员的配置工作,从而提高了项目的开发效率。

2、前后端分离实践:layui是一款遵守自身规范的前端框架。本项目使用layui进行前后端分离开发。同时我们使用Swagger来规范后端接口文档以提高前后端开发的效率。

3、SpringBoot + Redis 整合技术:用非注解的方式使用Redis,高速读写内存中的数据,使用AOF和 RDB 两种数据的持久化保存方式,保证 Redis重启后数据不丢失。

4、Docker容器化部署:本项目使用Docker来部署。Docker容器化技术为我们提供了统一的开发部署环境,为以后项目的运行和维护提供了极大的便利。通过使用Docker我们可以将一个SpringBoot项目打包为一个镜像,然后再通过Docker来统一管理镜像即可。

5、敏感词过滤技术:我们采用主流的开源敏感词过滤库对评论中的敏感词进行过滤。

6、RSA非对称加密算法:对于登录、注册等敏感操作,我们计划采用当前主流的RSA非对称加密算法来进行加密处理。

7、md5加密技术:为保护用户隐私,我们使用md5将用户密码进行加密并存入数据库中。

8、Echarts可视化技术:为了用户能够更为便捷的查看疫情相关的信息,我们选择了Echarts来实现可视化的效果。

9、Java网络爬虫技术:我们在项目中使用了jsoup爬虫框架以及Httpclient等工具对最新的疫情信息进行了爬取。

10、通过定时任务定时爬取网站疫情信息并存储到redis中

11、通过NLP自然语言处理自动从文章中提取文章摘要

12、通过NLP自然语言处理对敏感词进行辨别和过滤

设计难点:

1、 首先就是网站的整体布局,这个浪费了很多时间

2、疫情信息的可视化展示:我们使用了定时任务、爬虫以及Echarts实现疫情的可视化,不论是爬虫、定时任务、Echarts使用起来都比较麻烦,在实现过程中遇到了很多问题,包括爬取内容的存储位置以及存储方式、Echarts交互参数的设置以及渲染、java爬虫的使用、定时任务的设置以及多线程执行定时任务等。

3、 NLP自然语言处理:我们通过百度AI开放平台接入了NLP自然语言处理相关的api,由于文档不太清晰包括我们对NLP自然语言处理不太熟悉,导致进度滞后,我们也是查询并学习了相应的知识。

4、 阿里云OSS对象云存储:由于是第一次使用,遇到了很多问题,像url的拼写,文件权限的设置等

5、前后端分离开发:由于之前缺少团队合作经验,在开发过程中也遇到了很多问题,包括git的使用,队友间的沟通等等。

6、Docker容器化部署:在部署过程中遇到了文件访问路径的一些问题,我们使用浏览器无法访问到Docker内部的图片资源,最终我们选择使用阿里云OSS云存储来作为文件系统,有效的解决了这个问题。

九、项目开发过程

本项目在后台开发过程中使用了前后端分离的模式,在前台开发过程中使用了Thymeleaf模板引擎技术。共有三个人参与本项目开发(好吧,其实这玩意是我一个人写的。。。。。。)

其中:

后端(技术栈为SpringBoot、mybatis、SpringMVC、Redis、爬虫技术等)一人,主要由我进行开发。

前端(技术栈为layui+semanticui+原生ajax)一人,主要由我室友进行开发(打钱)

运维(技术栈为Docker+Linux)一人,主要由我兼任

UI以及可视化(技术栈为PS+Echarts)一人,由组内女生担任

开发流程为:

一、由我搭建后台项目架构并选择技术栈

二、由我定义接口并设计数据库表

三、前端选择技术栈并根据UI妹子的原型图搭建界面

四、前端根据约定数据格式与后端进行交互

五、前后端联调

六、测试

七、通过Docker将项目部署到服务器上

十、总结

本来这个项目只是我用来帮助室友混创新学分的,但是有一天我室友就告诉我我喜欢的女生失恋了。当时其实也挺难过的,毕竟也是我喜欢了三年的女生,凭啥别人不知道好好珍惜。但是我其实也是一个钢铁直男,整个大学也就和这个女生主动聊过一次天,也不知道怎么和女生聊天,更不知道怎么去追女生,然后我就想不如就把这个项目作为礼物送给她吧,所以我很认真的做了整个项目,本来只是希望混个校赛,现在基本就是奔着国赛的要求去开发。所以我基本上每天除了上课就在实验室待着(偶尔还翘了几节课),晚上也都是10:30回宿舍。有时候出了bug改代码到晚上12点以后也是常有的事。虽然这个故事后来也没什么后续,但是这个项目确实可以说耗费了我大量的时间和心血,所以后续比赛结束我会将它开源出来(不管获不获奖都会开源,因为确实耗费了我大量精力o(╥﹏╥)o),希望能给你们带来一点启发。
最近一段时间心情比较低落,也挺迷茫的,因为这个项目考研复习也搁置了一段时间。前几天有个认识的小学弟失恋,我请他喝酒。因为我酒精过敏不敢喝太多,所以大部分都是学弟在喝。晚上回到宿舍学弟可能是酒醒了,半夜给我发了个信息:落俗不可避免,浪漫至死不渝。
当时就感觉这句话很美,生活总是不能称心如意,但是生活也到处充满浪漫,我们又何必在浪漫的生活里自寻烦恼呢?更何况,明天是个好天气。
希望与诸君共勉。

计算机设计大赛参赛作品——疫情看板相关推荐

  1. 【计算机设计大赛近年获奖信息】数据分析及可视化

    [计算机设计大赛近年获奖信息]数据分析及可视化 写在前面 数据读取及描述 数据预处理 各年数据集格式化 数据合并 数据清洗 数据分析及可视化 各年奖项数量分布 各年得奖最多的学校Top10 各学校参加 ...

  2. 【2022年计算机设计大赛大数据主题赛--和鲸赛道】参赛作品:当疫情对上经济:是毁灭性的打击还是重生

    这是我们小队在2022年参加计算机设计大赛大数据主题赛–和鲸赛道的作品,用尽心思历时一个多星期完成,但是在最后很遗憾只取得了校赛二等奖的成绩,发出来与大家分享一下. 当疫情对上经济:是毁灭性的打击还是 ...

  3. 2022年计算机设计大赛国三 数据可视化 疫情看板(源码可分享)

    本人是长春师范大学人工智能专业本科在读学生,在2022年暑假(大二)参加了全国大学生计算机设计大赛,并获得了省一等奖,国家三等奖(国赛答辩出了点小插曲).在此分享和记录本次比赛的经验. 首先是设计思路 ...

  4. 2022 第15届 中国大学生计算机设计大赛,软件应用与开发类参赛作品提交要求

    文章目录 1.省赛通知 & 报名 2.省赛作品:软件应用与开发,参赛作品提交要求 3.国赛通知 & 报名 4.国赛答辩:答辩要求 1.省赛通知 & 报名 浙江省赛官网 2022 ...

  5. 2016全国大学生计算机设计大赛,2016年“第9届中国大学生计算机设计大赛”闭幕...

    原标题:2016年"第9届中国大学生计算机设计大赛"闭幕 中国教育新闻网讯(记者熊杰)8月13日,2016年"第9届中国大学生计算机设计大赛(微课/动漫)暨2016年(第 ...

  6. 计算机科学学院参加些什么比赛,计算机科学学院学生在“2018年中国大学生计算机设计大赛(西北赛区)”中喜获佳绩...

    2018年5月11日至12日"2018年中国大学生计算机设计大赛"西北赛区决赛在西北大学举行.本次决赛共收到来自兰州大学.西北工业大学.西安电子科技大学.空军工程大学.宁夏大学.西 ...

  7. 广东省计算机媒体大赛,广东省大学生计算机设计大赛

    广东省大学生计算机设计大赛由广东省教育厅主办.比赛宗旨为进一步提高广东省高校计算机教学和信息技术与学科深度融合的水平,激发省内各高校各专业大学生学习计算机知识和技能的兴趣和潜能,提升大学生运用信息技术 ...

  8. 华中师范大学本科生计算机课教师,华中师范大学第八届大学生计算机设计大赛的通知...

    为了激发大学生学习计算机知识和技能的兴趣和潜能,培养其创新能力和团队合作意识,以及运用信息技术解决实际问题的综合实践能力,切实提高计算机教学质量,教育部高等学校计算机类专业教学指导委员会.软件工程专业 ...

  9. 大学生计算机大赛课题,第14届中国大学生计算机设计大赛云南赛区决赛举行 32个项目胜出...

    昆明信息港讯6月19日,2021 年"浪潮杯"云南省大学生计算机设计大赛暨第14届中国大学生计算机设计大赛云南赛区决赛在云南工商学院举行.本次赛事由云南省大学生计算机设计大赛组委会 ...

  10. 计算机设计大赛中南赛区2019通告,我院6支队伍在2019中国大学生计算机设计大赛 中南地区赛喜获佳绩...

    (通讯员唐建宇)中国大学生计算机设计大赛(简称"大赛")是"教育部高校学科竞赛排行榜"赛事.我院6支队伍在2019年该比赛的中南地区赛中获得了3个一等奖.2个二 ...

最新文章

  1. 正确“假期休息模式”
  2. 世界机器人大会|人工智能VS人类
  3. 【数据分析】Python :知乎数据清洗整理和结论研究
  4. Android ContentProvider、ContentResolver和ContentObserver的使用
  5. POJ 1330 Nearest Common Ancestors 【LCA模板题】
  6. window SDK自定义安装路径选择
  7. discuz邮件设置PHP,Discuz!6.0—如何配置发送邮件的参数
  8. kafka 服务端消费者和生产者的配置
  9. git status怎么操作_新手 git 简明操作指南
  10. HBase模式设计之ID顺序增长(rowkey顺序增长)
  11. C++ printf输出
  12. TransE算法原理与代码解析(2021-06-22)
  13. 解决灵格斯强制更新问题
  14. java毕设项目——图书借阅管理系统(附源码课件)
  15. PHP从入门到能用(十)创建新闻网站数据库
  16. 计算机机械制图试题及答案,机械制图及计算机绘图试卷和参考答案1.pdf
  17. UE4插件研发 So Easy
  18. 如何写好科研论文2021期末考试答案
  19. php随机给文字拼音,给文字加上拼音_php
  20. 如何pull gcr上的镜像

热门文章

  1. 资源大放送 - 图书与视频教程!
  2. XboxOne和PS4
  3. 2019-2020年数学建模竞赛心得体会
  4. java se runtime environment 6.0_Java SE Runtime Environment v6.0 Update 16
  5. iphone老是显示e服务器,苹果手机变成e网怎么办(苹果手机上显示e,怎么回事?)
  6. 【LabVIEW】基于LabVIEW的俄罗斯方块小游戏
  7. 将照片转换为网站的Flash
  8. Linux命令行配置无线,Linux_CentOS-6.4无线上网命令行配置介绍,待连接的WIFI的ssid为“thmrdq - phpStudy...
  9. 计算机怎么看ping,如何查看自己电脑的PING
  10. rejected Updates were rejected because the remote contains work that you