Skip to content

Development Overview ​

PicDepot is a Nuxt full-stack monorepo: UI in app/, APIs in server/api/, shared types/utils in shared/, D1 migrations in migrations/.

Environment ​

bash
pnpm install
pnpm dev

Also prepare:

  • A Cloudflare account after wrangler login (for remote D1/R2)
  • Correct database_id / bucket_name / R2_PUBLIC_BASE_URL in root wrangler.toml

Suggested workflow ​

  1. Read Architecture and decide whether you are changing UI, API, or bindings.
  2. Schema changes go into new migrations/00xx_*.sql, then pnpm db:migrate:local / remote.
  3. New APIs should reuse server/utils/* (getDb / getBucket / auth) instead of touching event.context.cloudflare directly.
  4. Pass pnpm typecheck and pnpm lint before opening a PR.

Docs site locally ​

bash
cd docs
pnpm install
pnpm dev

Docs are independent of the app and publish to GitHub Pages via Actions.

Contributing ​

Issues and PRs are welcome. Keep changes focused; explain motivation and how you verified. Licensed under MIT — see root LICENSE.

Released under the MIT License