About this site
About 小白龙博客
记录技术与生活
- Posts
- 104
- Tags
- 50
- Modules
- 8
About the author
Independent writing on tech and everyday life
About this site
Xiaobailong Blog is a modern personal blog for frontend, backend, and engineering notes. Built as a pnpm TypeScript Monorepo: Nuxt SSR for readers, Vite+ Admin for authors, NestJS API for data and realtime; the same repo also ships a watermark-remover mini program, and video-parse. Beyond articles: bookmarks, guestbook, chat, search, and online donations.
Features
From reading to interaction — all in one place
Ecosystem
Side tools and open-source extensions beyond the blog
Watermark remover mini program
Scan with WeChat to parse short-video share links and save watermark-free media

Scan in WeChat
Tech stack
pnpm TypeScript Monorepo — blog web, admin, NestJS API, plus mini program / video-parse side apps
Blog frontend
Admin
API & data
Side apps
Engineering
Architecture
Decoupled multi-client stack — Nuxt SSR for readers, Admin SPA for authors, mini program sharing NestJS API and shared package types
Clients
- Nuxt 4 SSRReading & interaction (PC + H5)
- Admin SPAContent ops & RBAC (PC only)
- uni-app MPWatermark-remover WeChat mini program
Edge / gateway
- NginxHTTPS reverse proxy & static assets
- HTTPS / CDNMedia via OSS CDN
Services
- NestJS APIREST + WebSocket + job queues
- Nuxt SSRFrontend render under PM2
- RabbitMQAsync watermark / crawl jobs
- KafkaAPI request log event stream
- EdgeOneVideo share-link parsing
Data & shared
- MySQL 8.4Primary DB (on-host)
- RedisCache · tokens · online count
- OSSImages & attachments
- @blog/sharedCross-app DTOs / constants
Request flows
- Browser → Nginx → Nuxt SSR first paint → NestJS API (useFetch / CSR)
- Browser → Nginx static Admin → NestJS API (JWT Bearer)
- Mini program → NestJS API; video-parse on EdgeOne, proxied by API