查看原文
其他

毕业设计有哪些可借鉴的 GitHub 项目?

老逛 逛逛GitHub 2021-08-19

前几天写了一篇文章:你的毕业设计是 XX 管理系统吗?阅读量挺高的,很多读者还以为是推荐几个亮眼的 GitHub 项目,发现并不是。

今天老逛推荐几个项目,毕业设计可借鉴下面这几个 GitHub 项目,我不是简单的推荐项目,还会给出一些思路,基于这些 GitHub 项目魔改成自己的项目,至少还能增加一个项目经验不是?

除了一些 GitHub 项目,老逛还会推荐一些渠道,从这些渠道你同样可以获取到一些实战项目和源码。

提示:本文章推荐的项目仅适用于本科毕业设计借鉴。

GitHub项目推荐

推荐的这几个 GitHub 项目并不是简单的 XX 管理系统,我会从下面这些方向推荐几个入门级别但是不那么 Low 的项目。

  • JavaWeb项目
  • 移动端项目
  • 机器学习项目
  • 深度学习项目
  • 推荐系统
  • 大数据项目

01

JavaWeb项目

学之思在线考试系统

这个项目是是一款 Spring 技术栈 + Vue.js 的前后端分离的考试系统,分为学生端、用户端、小程序端,能覆盖到 PC 和移动端。。界面美观、设计友好、代码结构清晰,即使是应届生找工作,这个项目也是不错的练手手项目。

并且支持多种部署方式:集成部署、前后端分离部署、docker部署。

地址:https://github.com/mindskip/xzs

学生端

管理端

小程序端

在线考试

这个项目后端采用 Spring Boot + JPA + Swagger2 + JWT 技术栈,前端使用 Vue + AntDesign 技术。都是在线考试系统,但这个系统的 UI 界面比上一个项目好看一点。

地址:github.com/19920625lsg/spring-boot-online-exam

登陆

首页

答题

考试管理

考试列表

外卖系统

一个完整的外卖系统,包括手机端,后台管理。基于 Spring Boot 和 Vue 的前后端分离的外卖系统,包含完整的手机端,后台管理功能。
地址:gitee.com/microapp/flash-waimai

电影院选座系统

开发技术 : Spring MVC + Spring + MyBatis 框架,MySQL数据库。支付宝沙箱支付 LayUI 百度 Echarts 图表 Redis 缓存中间件。特色:支付、可视化、智能选座等。
地址:https://gitee.com/bysj2021/cinema

02

移动端项目

移动端项目的话可以模仿现在主流的一些 App,比如外卖、短视频、直播等。比如我下面会推荐的仿美团项目,这个项目你可以改一改,怎么改呢?

我给大家一个思路:用户下单点外卖,商家会里面收到消息「您有新订单」商家选择接单或者不接单,如果商家接单,用户会支付然后进行后面的业务。

你可以搞一个在线打印预约系统,针对校园的。用户打开你的系统,会看到你学校所有的打印店铺,你选择一个你感兴趣的店铺,去上传你的打印文件,这时候打印店主端会接收一个消息「您有新订单」,商家选择接单或者不接单。

你进行支付后,商家那边就会自动打印这份文件,打印完毕,店家把文件放在打印店的货架上,这时候店主点击「通知取货」你的系统就会给用户发送一个短信:“您的文件《假装是一个文件名字》打印完毕,请到清华大学西门打印店(西门左走 100 米)取货,取货号为「666」。

刚刚提到这个想法,完全可以通过美团这个项目改一改,支付功能、定位功能、短信功能都不难,支付功能可以采用支付宝沙箱,完全可以满足答辩演示的需求,短信发送功能各大云平台都提供相关服务,比如我推荐一篇文章: 7 分钟实现 Java 发送短信功能

仿美团外卖点餐

前端用 vue+vuex+vue-router+axios,后端基于nodej.s的框架,数据库采用mongodb。功能涉及登录,定位,浏览商品,加购物车,下订单,支付(微信、支付宝扫码支付),评价,个人信息更改。

项目地址:https://github.com/zwStar/vue-meituan

精仿今日头条

数据是抓取今日头条App的数据。使用 RxJava + Retrofit + MVP 开发的开源项目。

项目地址:https://github.com/chaychan/TouTiao

下面这两个 GitHub 项目,都是移动端开发者开发的复制版抖音 App,老逛以前也推荐过。

iOS 仿抖音

这个抖音 Demo 适配 iPhone、iPad,同时兼容 iOS 8.0 - iOS 12.0系统。采用 Object-C 语言编写。标星 1.5K Star,项目地址:

https://github.com/sshiqiao/douyin-ios-objectc

本项目共分为三个部分:抖音个人主页实现、网络视频相关功能实现、WebSocket 实现 IM 即时聊天功能。


Android 仿抖音

这个 Demo 涉及的技术要点如下:

  • Recycler + PagerSnapHelper 实现全屏切换播放效果,
  • 使用 Lottie 库加载 Json 动画
  • BottomSheetDialogFragment 实现分享评论弹框功能
  • CoordinatorLayout + AppBarLayout 实现折叠布局。

该项目标星 1K Star,项目地址:

https://github.com/18380438200/Tiktok

秀视频

这个项目是一个短视频社交小程序,系统包括用户端和后台管理端。用户可以在小程序上发布自己的短视频,并且经过我们的平台加入滤镜或者背景音乐制作出独具特色的短视频。具备点赞、评论、下载、分享、转发等功能。技术栈如下:
前端: H5、CSS、JavaScript 、JQuery、Bootstrap、Themeleaf
后端:Spring Cloud、Spring Boot、Sping、Spring MVC、MyBatis、MySQL、Redis、Shiro
组件:Bootsrap-table、webUploader、PageHelper
项目地址:https://github.com/RAOE/show-videos
斗鱼直播 APP
flutter 重构的斗鱼直播 APP,首页、娱乐为Material组件;直播间、鱼吧为纯自定义编写。
地址:https://github.com/yukilzw/dy_flutter
仿网易云音乐
基于 flutter 的仿网易云音乐软件,支持  iOS 和 Android。
地址:https://github.com/boyan01/flutter-netease-music
高仿 B站
基于 react +  express 高仿B站 Web 移动端
链接:https://github.com/code-mcx/react-bilibili

03

机器学习、深度学习

机器学习项目和深度学习项目放在一起,对于本科生来说,大部分没有深度学习、机器学习的基础,如果你没有相关基础还要做这相关的项目,我推荐几个教程,这些教程都是老逛认真学过,负责的告诉大家,把这些视频看懂应付答辩肯定没问题。
吴恩达机器学习:www.bilibili.com/video/BV164411b7dx
机器学习教程:https://coding.imooc.com/class/169.html
吴恩达深度学习:www.bilibili.com/video/BV164411m79z
Pytorch实战:https://www.bilibili.com/video/BV1cV411Y7jZ
Tensorflow实战:https://www.bilibili.com/video/BV1Zt411T7zE
情感分析
基于机器学习的商品评论情感分析,使用 Selenium 模拟真实登录行为,爬取数据。使用 jieba 分词,分类模型采用机器学习算法SVM 和深度学习算法 LSTM。
地址:https://github.com/20100507/emotional_analysis
舆情分析
利用微博热点话题舆情聚类分析,主要功能包括爬取微博数据,微博数据文本处理,特征向量提取,Kmeans 聚类。
地址:https://github.com/pengLP/sina_analysis
这个项目只是使用了简单的聚类算法 Kmeans,如果大家那这个项目作为自己的毕业设计,我觉得可以调研深度学习相关的算法,看几篇 Paper,有能力复现一下再进行改进,只要有了数据你就能搞很多事情,按照我的思路应付本科毕业设计足够了,硕士就算了,估计开题都过不了。
如果这个项目爬取的数据没办法满足你的需求,你可以去这个库看看,一个非常好用的微博爬虫。
https://github.com/dataabc/weiboSpider
图片分类
这个 GitHub 项目就很多了,你可以直接 GitHub 搜索关键字「Pytorch 图片分类」或者「TensorFlow 图片分类」,比如有猫狗分类等等。如果你做图片分类,技术路线大体是一样的,都是基于卷积神经网络来做。
但是你需要改一改,怎么改呢 ? 我举个栗子:你可以做疾病分类,网上有很多的开源数据集,判断一张图片是猫还是狗和判断一张图片有没有病本质上是一样的。
如果你想搞一些花里胡哨的东西,可以借助注意力机制把病灶找出来,最终的效果就是:输入一张医疗图片,会输出这张图片患病概率,而且把这张图片上的病灶高亮出来。

开源数据集:CQ500
对于一个本科毕业设计来说,我觉得做到这种程度足够了,如果你看不懂我刚刚说的技术名词,把我刚刚推荐的吴恩达深度学习教程看完,你就能明白了。
老逛做过这方面的研究,如果大家感兴趣可以点个在看,如果在看数比较高的话,我可以自己开源一个项目,手把手教大家(甚至录个视频),绝对顶。
生成对抗网络
之前老逛写过一个文章介绍了去马赛克的一些技术,目前比较火的就是通过生成对抗网络(GAN)来做,GAN是一项非常有意思的技术,包括换脸,一键换(tuo)衣等等。
如果你用了一段时间把我分享的深度学习基础撸完,推荐你看台湾大学李宏毅教授的一门课,专门讲生成对抗网络。
如果毕设做一个生成对抗网络,也是挺叼的,大家都做分类或者推荐,你特立独行,做了个这么有意思的东西,相信老师也会给你高分。
不用担心网络搞出来了,却水不出来论文,去知网搜一搜做生成对抗网络的硕士论文,就按他们的套路去写就 OK 了。
李宏毅GAN教程地址:
https://www.bilibili.com/video/BV1Up411R7Lk

Pytorch官方生成对抗网络范例代码:

这是 Pytorch 官方教程的一个章节,面向小白讲解了GAN,并直接上代码,解释到位,清晰易懂,注释良好。范例的模型是 DCGAN (你不用管是什么 GAN 啦,反正就是一种 GAN,你看教程就懂了)
而且你不用担心自己的显卡不够训练,教程里直接提供了谷歌 Colab 环境代码,如果你能访问谷歌的话,就可以免费使用它提供的计算资源从头到尾跑一遍代码,加深你对 GAN 的理解。
下图是训练好的网络生成的合成人脸,虽然不是很真实,但是作为快速入门,还是挺不错的。

地址:https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html

如果你把这个搞定了,其实就可以按照自己想做的选题去做了:比如人脸属性操控、图像风格迁移等等,非常意思的项目,而且,重点是这些代码都是开源的,重要的事情说三遍:开源!开源!开源!

人脸属性操控

这是计算机视觉顶级会议 CVPR 2019 的文章。可以看到可以的生成的人脸进行操纵,比如眼镜、胡子、发型等。

地址:https://github.com/csmliu/STGAN

图像风格迁移

这个项目代码质量也非常高,你可以基于它去魔改,或者实现你毕设中想要实现的功能。风格迁移的核心思想就是,可以从一副图像中提取出 风格 style(比如梵高的夜空风格)以及内容 content(比如你能在画中看出河边有匹马)。你可以告诉计算机,把 A 用 B 的风格再画一遍。这样的课题是不是才有意思?

地址:https://github.com/junyanz/CycleGAN

04

推荐系统

电影推荐系统
本次项目是基于大数据过滤引擎的电影推荐系统,包含了爬虫、电影网站(前端和后端)、后台管理系统以及推荐系统(Spark)。
通过在电影网站系统埋点,获取到用户的点击事件(如用户喜欢哪部电影或对某部电影的评分)并将信息传至推荐系统,推荐系统根据该信息做出相应的处理,将推荐结果存入到 MySQL 数据库中,Web 前端通过查询数据库将推荐的电影展示给用户。
地址:https://github.com/LuckyZXL2016/Movie_Recommend
新闻推荐系统
本次项目是基于大数据计算引擎的新闻推荐系统,包含了爬虫,新闻网站(前端和后端),推荐系统(Spark)今日小站是基于 Spring Boot 框架搭建的 Web 项目,用户在网站完成注册登录后,网站会记录用户的浏览行为。同时网站也会把推荐结果呈现给用户。
地址:https://github.com/luochana/News_recommend
05

大数据项目

地铁客运分析大数据项目

这个项目主要分析深圳通刷卡数据,通过大数据技术角度来研究深圳地铁客运能力,探索深圳地铁优化服务的方向。
这个项目涉及很多的技术栈,项目刚刚发布没多长时间,我以前也推荐过。由于涉及较多的常用技术框架,能加深对各技术栈的理解运用。只有在使用过程中才能体验各框架的差异和优劣,从而为以后的项目开发技术选型做基础。
下面是 GitHub 和 Gitee 的开源地址,该项目使用的数据也在项目里面,国内建议访问 Gitee 速度快一点。
  • https://github.com/geekyouth/SZT-bigdata
  • https://gitee.com/geekyouth/SZT-bigdata

新闻网实时大数据项目

这是一个基于 Spark2.x 新闻网大数据实时分析可视化系统项目,本次项目是基于企业大数据经典案例项目(大数据日志分析),全方位、全流程讲解大数据项目的业务分析、技术选型、架构设计、集群规划、安装部署、整合继承与开发和web可视化交互设计。

主要业务包括,捕获用户浏览日志信息、实时分析前20名流量最高的新闻话题、实时统计当前线上已曝光的新闻话题、统计哪个时段用户浏览量最高。

地址:https://github.com/LuckyZXL2016/News_Spark

这是系统设计流程:

其他渠道
除了 GayHub 和 Gitee,其实还有一些网站可以找到可以部署的项目,只是大家不知道吧。
1. 最代码
这个网站的 UI 有点上世纪,但是主要的业务是源码分享。源码质量参差不齐,但也算一个找项目源码的去处了。主要是每份上传的源码,站主都会亲自部署,保证能顺利跑通才挂在上面。
网站:http://www.zuidaima.com/
2. 慕课网

其实慕课网的实战项目挺多的,虽然有的需要付费,但是代码都是老师手把手带你敲,环境配置也手把手教你配,还提供项目实战需要的源码、软件等。

地址:https://www.imooc.com/

当年学 Java 时,第一个实战项目就是学习的 Geely 老师的,说实在的当时学到了很多东西。



3. PHP中文网

个网站相对比较小众,而且也注于 PHP 技术栈,但是提供了包括但不限于各种视频教程中文文档、实战可部署源码等等资源,如果你认为PHP是世界上最好的语言,而且打算用PHP写毕设,那来这里就对了。

地址:www.php.cn/xiazai/code

4. How2J.cn

how2j 的 Java 教程, 内容涵盖 J2EE、Web前端、框架技术等全面的 Java 内容。基于实例代码和视频讲解的学习方式也许可以为你以后java职业生涯打下坚实的基础。当然,里边也是有很多实战项目源码,并附有视频讲解,可以给你的毕设一些有用的参考。

地址:https://how2j.cn/

好了,今天就分享到这里。如果这篇文章可以转发收藏,防止找不到。大家也可以标星本公众号,这样就能第一时间接受到推送了。逛逛GitHub:每天推荐一个好玩且你可能会用到的 GitHub 项目,我们明天见!

—— end ——

最后,喜欢本文章的可以转发、在看。以下平台都有老逛的身影,欢迎大家关注我在其他平台的同名账号。

           
推荐阅读
1. 推荐几个好玩项目
2. 推荐几个有用项目
3. 推荐几个有用工具

每天推荐一个有趣、好玩且可能你会用到的 GitHub 项目。
 

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存