Ben Lambert's personal website. Uses npm workspace.
| Package | |
|---|---|
home-web-ui |
Next.js site. |
home-server |
Express + mongoose API. |
home-shared |
Shared frontend + backend types and runtime code. |
docker compose up -d
npm run dev
npm run dev:server
home-shared must be built before web client and server are run.
npm run dev and npm run dev:server build it first.
home-server stores post files in storage/ inside the directory it starts from, and logs the full path on startup. MongoDB post records point at these files, so backups, restores, and server moves must keep the database and the storage directory together: back up the database before the storage directory, and copy storage with a tool that preserves hard links (for example rsync -H).
Lint rules shared by every workspace live in eslint.config.base.mjs
Each workspace's eslint.config.mjs layers its own framework config and ignores on top of the root base eslint config.
All timestamp strings should be in ISO 8601 format.