This is one of those updates that is not very flashy on the surface, but it will make working on the project so much easier for me and other contributors (cc and
).
I just finished ...ok let's be honest here, Codex just finished a fairly substantial refresh of the Hive Node Beacon codebase (repository link).
The old project structure I originally created was simple and worked fine for a long time. But it was starting to show its age. Backend and frontend were living in different worlds, dependency management was still tied to npm, and even simple upgrades were more annoying than they should have been.
So I took the time to rework the repository into a more modern pnpm monorepo. To put things into perspective this is the amount of changes (consider this is a relative small repository):
Current structure is now much cleaner:
apps/backend for the NestJS APIapps/frontend for the Vue apppnpmOn top of that, the frontend was moved to a more modern Vue 3 + Vite setup, while the backend was refreshed around the current Nest tooling.
For reference, the project homepage is here: https://beacon.peakd.com/
But many projects simply use it via API: https://beacon.peakd.com/api/nodes
The biggest benefit is not just newer tools for the sake of newer tools. It is that the project is now easier to reason about, easier to update, and easier to improve without fighting the repo every step of the way.
A few practical wins:
This kind of cleanup work usually does not get much attention, but it is exactly the sort of thing that makes future iteration faster.
To keep the website and API compatible with the current deployment pipeline the frontend is built as static assets, and the backend serves it directly while keeping the API under /api.
So from the outside it still behaves like a single app, but internally the codebase is much better organized. That feels like the right compromise here: modern internals without making deployment more complicated than necessary.
As part of this rework there is also a new Nodes page on HiveHub.dev with a very familiar look and feel. This is an easy win to make HiveHub even more complete in terms of features.
This refactor makes Beacon way easier for me and other contributors to work on. The structure now actually supports incremental changes on a modern tech stack.