This project has been migrated and is no longer maintained.
The blog now lives as a TypeScript-first app inside the
devpadmonorepo atapps/blog.
The original Go server + React SPA was rewritten as a Cloudflare-first stack and folded into the devpad monorepo. The new architecture:
| Layer | Old (this repo) | New (devpad) |
|---|---|---|
| API | Go + custom HTTP handlers | Hono on Cloudflare Workers |
| Database | local SQLite | Cloudflare D1 (Drizzle ORM) |
| Post storage | DB rows | @f0rbit/corpus version-controlled stores |
| Frontend | React SPA | Astro + SolidJS |
| Auth | GitHub OAuth (custom) | shared @devpad/api session model |
| Schema | hand-written types | shared @devpad/schema (Zod + Drizzle) |
| Deployment | self-hosted VPS | Cloudflare Workers + Pages |
A VPS → Cloudflare migration script (in the devpad repo) was used to move existing data from the Go server's SQLite database into D1 + Corpus.
The full migration plan that drove the rewrite is preserved at documents/rewrite.md for reference.
- Blog app:
devpad/apps/blog - API client:
@devpad/api - Schema:
@devpad/schema - Live site: blog.devpad.tools
This repo is kept for git history and the migration plan. No further development happens here.