BackIcon开源项目的 GitHub 1K Star

2024年12月10日

Openai logomark

Hamster1963

许久没敲记录日常的文字,忙忙碌碌的几个月过去。

每次敲下几个字后,又因为觉得矫情而又放弃。

但最近发生的事情确实值得记录一下,以后看回来,也是一段十分有趣的经历吧。

nezha-dash

最近的个人时间基本上都奉献给了 nezha-dash 这个开源项目。

项目地址:https://github.com/hamster1963/nezha-dash

CleanShot 2024-12-09 at 15.57.51@2x.png

在各种 issues 与 pr 中穿梭,有时候也在群组中与天南地北的社区朋友交流各种 feature 与 bug,热闹的时候几十人讨论一下小功能,大家都很友善,无论是否是程序员都可以说出自己的看法与意见,实属是难得的融洽。

而最令我开心的,则是不久前项目收获了第 1000 个 star。

CleanShot%202024-11-28%20at%2015.49.40@2x.png

一路上项目收到了很多朋友的鼓励, 也是在这个过程中收到了人生中的第一笔赞赏,有些在 telegram 交流过,有些是匿名的朋友。

https://buycoffee.top/coffee

在这里对每一位赞赏过、提出建议、帮助这个项目变得更好的朋友表达个人浅薄的感谢,无以为报,努力未来创造更好的开源项目。

起源

这个项目并不是突发奇想,也不是通过精心筹划的,而只是我自用项目的一部分。

HomeDash

CleanShot 2024-12-09 at 16.17.28@2x.png

7 月的某天,社区的朋友看到了这个监控页面,询问是否有部署的方式,也就是从这个时候起,萌生了创造这个项目的念头。

CleanShot 2024-12-09 at 16.22.23@2x.png

说干就干,2 天后的 7 月 26 号,推出了第一个版本。

当时并没有如今的详情页,地图,分组这些功能,仅仅是将 homedash 项目中的组件搬到一个新的项目,采用 next.js 的后端去通过 API 获取哪吒监控的服务器数据用以展示,仅此而已。

alt:v0.0.1 的 nezha-dash

v0.0.1 的 nezha-dash

项目上线后,本没有对这个项目寄予太多的希望,一方面是这个项目的架构设计是为了可以方便地在 Vercel 上部署,另一方面是官方的前端也足够好,感兴趣的朋友应该不会太多。

项目在发布的前几天收获了不少的 star,但在 100 star 之后就较为沉寂了,在这期间,有一些功能的请求我暂时的搁置,一方面是工作上确实很忙,另一方面是不太确定这些需求是否是大多数用户所需要的。

转折点来自于一位博主的推荐。

意外的博主推荐

9 月的某天,意外地在推特的首页发现了有博主竟然在宣传 nezha-dash这个项目。

CleanShot 2024-12-09 at 16.55.22@2x.png

这次宣传给项目带来的流量给我带来了不小的震撼。

项目开始获得越来越多的关注,也开始了新功能的开发。

在完成网络延迟图表与兼容多环境部署后,项目来到了 500 star。

CleanShot 2024-12-09 at 17.08.45@2x.png

社区推荐

项目被越来越多的朋友关注,其中很大一部分是来自于各个社区的推荐。

NodeSeek

LINUX DO

全球主机交流论坛 - Powered by Discuz!

十分感谢社区朋友的大力支持,甚至有博主在 YouTube 上推出了详细的部署教程,感谢大家🙏。

CleanShot 2024-12-09 at 17.14.24@2x.png

繁忙的日子

在功能越来越多后,各式的 issue 与改善建议让我几乎投入了全部的个人时间在这个项目上。

shot-3.png

常常是,手机上一收到 issue 通知,5 分钟内完成回复,快的 1 个小时内完成,如果是功能请求也大概率会在 1 天内完成,这样的状态也被群嘲为摸鱼狂人(🤣

在构建这个项目的路上,尤其感谢为这个项目提供 pr 的 kuusei 与 FarEastTZ。

CleanShot 2024-12-09 at 17.24.06@2x.png

kuusei 在项目早期解决了关键的类型问题与 IP 泄露的问题,FarEastTZ 用一个变量解决了国旗在不同设备的显示问题,感谢他们的贡献。

CleanShot 2024-12-09 at 17.28.27@2x.png

在这段时间内,处理了快 100 个 issue,虽然累,但看到项目被越来越多人关注,看到项目在一步步达到心中期待的样子,咬咬牙也就坚持下去了。

1K 时刻

1K star 对于之前参与开源项目的我来说,像是一座难以跨域的高山。

我本职为一名 Go Web 后端开发,在前端领域更像是一名探索的新手,对于设计也只是来自于无数个小时的 UI 微调中获得的感受。

因此能在这个领域创建一个项目还能获取不错的反响,给了我莫大的信心与鼓励,但对于 1K star,还是停留在想象的阶段。

因此在项目接近 700 star 的时候,我开始尝试实现一个可能会让大家喜欢的功能,世界地图。

2.webp

世界地图对于我来说实在是太难了,过程中不断的询问 ai 来实现的过程让我心烦意乱,各种 geo 数据的处理,各种边界条件与算法,让我一度想要放弃这个功能。

好在最后还是艰难地实现了,发布到了社区。

地图功能一出就收到了许多的 issue ,总结起来就是:

点状的地图,好看、简洁,但不好用。

于是又吭哧吭哧地重构地图,变成了现在的这个样子。

CleanShot 2024-12-09 at 17.43.33@2x.png

最终在 2024 年 11 月 28 号下午,nezha-dash 项目收获了第 1000 个 star。

心情混杂着激动,期待,与迷茫。

nezha-dash-v1

后面的项目发展大家应该也知道了,nezha-dash 作为 V1 的默认前端加入了哪吒监控的大家庭。

提到 V1,虽然界面看起来相同,但在代码实现上其实有许多不同。

nezha-dash 的项目框架为 next.js ,数据在 next.js 的服务端代理获取哪吒监控的数据并处理。

而 nezha-dash-V1 则是完全由 vite+react 来重写,直接通过 ws 与哪吒监控 api 来获取数据。

近期也终于将 nezha-dash 的功能逐步在 V1 版本中全部实现。

CleanShot 2024-12-09 at 18.01.45@2x.png

小插曲是,本来管理后台也由我开发,但工作与开源项目的各项开发实在让我无法抽身,只能草草结束在设计与原型开发的阶段。

alt: 当时的后台初步设计

当时的后台初步设计

感谢 naiba 与 Uub 接起了后台开发的重担,使得 V1 可以完成全部的开发。

后言

从写下 nezha-dash 的第一行代码到现在,短短 4 个月的时间,让我收获到的不仅是这 1K star,更多的是感受到了开源项目开发者在其中不断交错的成就感,疲惫感,与创造后从内心感受到的由衷的喜悦。

感谢大家的一路陪伴,文笔有限,我会继续努力,与大家在代码中会面。