我这种很一般的学校的计算机专业总有个不成文的潜规则:我们不生产毕设,我们只是互联网的搬运工。无论是老师还是学生,基本都默认毕设就是github等平台上随便找的,或者干脆就是买的一个项目

但我当时很铁,我心想“要变得更牛X,怎么着也得自己做点东西啊!”,决心要独立完成毕设。于是在别人都准备实习或考研复试时,我花了大量的大好时光去做这个b玩意,并且老实说做的真不咋地,感觉说它屎山都是抬举了,顶多依托稀史

为什么史呢,因为当时我虽然有这些语言基础,但对项目结构的安排理解甚浅,也没有什么代码规范的意识,所以写的很乱而且我写的样式真的很难看,到底要怎样才能像前端自媒体大佬一样写出好看的样式啊

很多地方应该有更好的解决方法的,只是我当时不知道,靠搜索引擎和想象力(?)硬着头皮瞎写,跌跌撞撞写出来的。我懒得再改了,毕竟刚开始一腔热血,最后只剩下“肝得好累啊”,但如果再写一次的话,我相信虽然也不会写的非常好,但会比原先的好

项目

类似Discogs的一个音乐资料百科真的不是xxx管理系统,然而Discogs不仅是音乐资料百科,还包含音乐新闻资讯站、唱片二手市场和一定的社交功能,其实更应该称它为音乐数据库。这太多了,毕设就那么点时间,做不完,所以只制作了核心的音乐资料百科功能

当然我也不会接着做这个项目的,混完毕设就再也没动过。有全球性且内容丰富的Discogs用,为什么还要用一个萌新做的新站点?所以这纯属练习,从来就不打算真的用

基本就是一些音乐信息(专辑/厂牌/艺人/曲风)的查阅、贡献与勘误,然后又加入了一点点互动功能(用户之间的关注、列表的收藏创建、评论、贡献值、感谢),还有给审核人员提供的审核功能

技术

标准Vue3+SpringBoot

虽然我学过一点Java,但只有一点,在应用时也只能照葫芦画瓢的用SpringBoot,配合Redis做一些缓存。有一说一,JS写多了后,写Java是真的左右不习惯,总是把类型的String写成string,然后回过神来改(

所以为什么不用Nodejs?这是毕设,我怕老师们不认识Node(那时候在网上看到了很多答辩老师的蠢笑话,有点担忧),不用MongoDB而是用MySQL;不用TailwindCSS而用Sass也同理

本来想做项目时手搓前端功能组件的,但发现工作量真的太太太大了,而且我水平一般很可能搓出一堆bug,所以还是组件库Element+走起吧

功能

首页我就不展示了,其实就是一些花里胡哨的音符随着鼠标动,算是个做的很粗糙的视差效果

检索条目

条件检索条目

条目内容

关于该条目所指专辑/艺人/厂牌/风格的一些信息,可以在其中发表评论

条目新增/勘误

新增和勘误都被视为一条提交

提交后会被作为审核任务推入审核列表,当该条目有尚未审核的提交后,将不可进入勘误

历史版本

查看条目的历史版本,会标注变更内容

只有审核通过的提交才是历史版本

审核面板

有关审核人员的一些数据

审核页面

给审核人员作出审核判决

审核任务都来源于用户的提交,如果审核队列中已经没有内容了,则没有审核任务

这个审核队列大概是这么个结构

个人主页

看一些人在此平台的活动,可以关注其他用户、感谢某项贡献、查看评论等

收藏列表

为感兴趣的条目创建一个列表,也可以收藏他人的列表