|
|
发表于 2022-9-21 21:19:46
|
显示全部楼层
当然可以!不过,建议你不要拿来主义,而是要学习、模仿以及改进优秀的开源项目。
给大家推荐 5 个Github 上还算不错并且适合学习的实战项目。每个项目,我都会做比较详细的介绍。并且,我还会提供详细的学习和改进项目的思路。
我的回答都是原创,有帮助的还请各位同好能够点个赞,在这里写过了!
1、zfile:在线云盘
ZFile 是一个前后端分离的在线云盘的实战项目,使用 Spring Boot + Spring Security + JPA 开发,数据库使用的是 H2 内嵌数据库。
- 后端源码 : https://github.com/zhaojun1998/zfile/
- 前端源码 : https://github.com/zhaojun1998/zfile-vue/
- 推荐指数 :⭐⭐⭐⭐
ZFile 除了基本的文件存储功能之外,还支持在线浏览文件(视频, 图片, 音乐)、文件直链分享等功能。项目的实际效果图如下。
我们学习这个项目的主要目的并不是为了自己搭建一个在线云盘自己用。当然了,这也是可行的。毕竟某度的云盘速度有点感人,期待阿里云云盘能够良心一点吧!
你可以自己写一个在线云盘系统当做自己的项目经验/毕业设计。这不比某某商城系统要香的多?
不过,我不太建议大家直接 copy 别人的项目,然后就在简历上说是自己写的。
说实话,这种行为有点可耻,好吧!虽然,我知道很多小伙伴就是这样做的。
秉着对自己负责,对面试负责的态度,我建议你可以借鉴这个项目的思路,自己徒手撸一个。
难度,其实真不大的!可能刚上手开发那会比较难下手,等你把整个技术原理搞清楚之后就好了。前端的话,你完全可以直接在原作者的基础上修改一下。你直接把后端写一下就OK了。
另外,如果说你要修改远项目自带的前端的话,建议你提前花时间学习一下前端基础(比如ES6),把Vue的官方文档阅读几遍。
zfile 这个项目的代码整体质量在开源项目中算是比较高的。不过,还是有一些小细节可以完善比如 Controller 层放了太多业务逻辑(封装一个服务函数 Service 更好)。
2、novel-plus:小说精品屋
novel-plus 是一款基于 SpringBoot + MyBatis +Spring Security + Elasticsearch + 支付宝支付的原创文学CMS系统。
除了单体版之外,这个项目还有一个基于 Spring Cloud 的微服务版本供你学习使用。
- 项目地址 : https://github.com/201206030/novel-plus
- 推荐指数 :⭐⭐⭐⭐
novel-plus除了支持基本的小说上架和阅读功能之外,还支持小说排行榜、会员充值、用户订阅等功能。项目的实际效果图如下。
这个项目还有一个爬虫模块用于系统初期测试使用。对Java爬虫感兴趣的朋友,可以简单研究一下。
这个项目的代码质量也是非常不错的,结果清晰,代码结构也比较规范。这也是我推荐这个项目很大的一个原因。
3、guide-rpc-framework:RPC框架
guide-rpc-framework 是一款基于 Netty+Kyro+Zookeeper 实现的 RPC 框架。
- 项目地址 : https://github.com/Snailclimb/guide-rpc-framework
- 推荐指数 :⭐⭐⭐⭐⭐
这个项目代码注释详细,结构清晰,并且集成了 Check Style 规范代码结构,非常适合阅读和学习。
并且,这个项目的 README 文档写的也非常认真。从 README 文档中,你就可以大概了解到这个 RPC 框架的设计思路以及前置技术。
虽说 RPC 的原理实际不难,但是,我自己在实现的过程中自己也遇到了很多问题。guide-rpc-framework 目前只实现了 RPC 框架最基本的功能(玩具级别),一些可优化点我都在项目的 README 文档提到了,有兴趣的小伙伴可以自行完善。
通过这个简易的轮子,你可以学到 RPC 的底层原理和原理以及各种 Java 编码实践的运用。
你甚至可以把这个项目当做你的毕设/项目经验,这是非常不错!对比其他求职者的项目经验都是各种系统,造轮子肯定是更加能赢得面试官的青睐。
我了解到很多小伙伴都拿我的这个项目作为校招的项目经验,而且反响很不错。
我这里提一个建议:一定不要照搬我的项目,尽量自己从头开始写。你可以参考我的思路, 但是自己一定要搞懂,而不是直接复制粘贴我的思想。尽量能够和我有点不一样的地方比如通信协议的设计、序列化的选型、注册中心的选择。
4、community:论坛
开源论坛、问答系统,现有功能提问、回复、通知、最新、最热、消除零回复功能。功能持续更新中…… 技术栈 Spring、Spring Boot、MyBatis、MySQL/H2、Bootstrap。
目前这个写在简历上的重复率还好,自己稍微改造一下还是很有潜力的。
项目地址:https://github.com/codedrinker/community 。
5、eladmin:后端管理脚手架
eladmin 是一款基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue 的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支持一键生成前后端代码,支持动态路由。相关阅读:《一份热乎的 SpringBoot 前后端分离后台管理系统分析!分模块开发、RBAC权限控制...》
这个开源项目基本稳定,并且后续作者还会继续优化。完全开源!这个真的要为原作者点个赞,如果大家觉得这个项目有用的话,建议可以稍微捐赠一下原作者支持一下。后端整理代码质量、表设计等各个方面来说都是很不错的。前后端分离,前端使用的是国内常用的 vue 框架,也比较容易上手。
项目地址: https://github.com/elunez/eladmin 。
|
|