极限开发 24 小时,题目为 “发现世界的美 “。

# 项目构思

我们小组经过一系列头脑风暴,想到过摄影、旅游、文字之美、代码之美等主题,最终选择了音乐之美作为主题。

我们小组的构想是做一个将音乐具象化的项目,我们有两个主要想法。

一个是音乐地图,将不同曲风的音乐赋予不同的颜色,根据音乐来源国家的经纬度标记在地图上。形成一幅新的五彩斑斓的地图。用户可以点击地图上的色点播放音乐,访问音乐的相关信息。

image-20230524233510106

另一个是音乐涂鸦墙,"音乐涂鸦墙" 是一个基于 Web 的互动艺术项目,让用户能够在虚拟的 "墙" 上 "涂鸦",但不是使用颜色或图像,而是使用音乐。浏览的用户也可以将鼠标移到某个区域,然后会自动播放那个区域的音乐。

image-20230524233816520

# 项目实现

# 功能

# 搜索

image-20230524233923408

# 3D 地球标注

image-20230524234134694

# 色点音乐播放

image-20230524233959057

# 基于地图的随机类别云图

image-20230524234029157

# 前端

本人在尝试了找区域边界经纬度数据集 + konva(JavaScript 2d canvas library)绘制图,调用 Echarts 的好看的地图实现无果,没有 visa 注册 google map, 觉得高德地图 api 不是很好看后,无奈求助队友(给吴神磕一个),最终是调用了 mapbox 的 api 制作 3D 地图和 echarts 制作了云图。

# 后端

后端使用自定义 @RateLimit 注解完成对高并发访问量的限制

image-20230524234923145

image-20230524234918177

完成了高覆盖率的单元测试和集成测试

image-20230524235000474

image-20230524235012320

采取 SonarLint 实时代码质量检测

image-20230524235026802

# 写在最后

虽然最后的实现和最初的构想差得比较大,但是很喜欢这次组队,感觉团队氛围很好,以及被吴神和耿佬带飞了对吗。因为赶工,大家晚上基本只睡了两三个小时,实在撑不住了在桌上趴一会。

感觉极限开发还是很考验平时的积累和功底的,自己以前没有完整地负责过一个具体项目的前端和后端,也没有上千行 / 上万行的开发经验积累,所以这次在黑客松比赛中比较吃力,有些愧疚自己拖了后腿。感觉也只有在真实的开发和负责实现中,才能真实地提高自己,光跟一些教程和官方文档只是杯水车薪。我知道我现在的技术还很弱很弱,不值一提。

因为最后负责答辩,偷偷跑出去准备了很久 pre,没有心思听其他很多小组的实现,不过就我听的几组来说,有很多很敢说、很有答辩技巧的发言,有很多值得学习的地方。

一次很独特的通宵体验,说着不想再经历这样的折磨了,不过可能等攒攒实力还是会再参加参加,挑战一下自己的极限吧。