尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證A personal library for manga, books, and CDs. Browse visual shelves, find missing volumes, and revisit the memories behind every haul.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Your collection, and the stories behind it.
Atelier Strawby is a personal library for manga, light novels, books, and CDs. Its collection view, Strawby Stacks, brings your shelves together with cover art, edition details, acquisition dates, and the memories attached to each physical copy.
Visit Strawby Stacks · User guide · Local setup & deployment
The shared shelf is read-only, and notes stay private unless you choose to share them. Collection management lives at /edit, protected by owner-only Cloudflare Access. Write APIs, imports, and backups also verify the owner’s identity. Access configuration.
| Layer | Technology |
|---|---|
| Application | Astro 5, React 19, TypeScript |
| Styling | Tailwind CSS 4 and custom CSS |
| Hosting | Cloudflare Pages |
| Data | Cloudflare D1 with Drizzle ORM |
| Artwork | Private Cloudflare R2 storage, served through the app |
| Owner sign-in | Cloudflare Access |
| Verification | Node test runner, Playwright, axe |
Optional metadata comes from MangaDex, Google Books, Open Library, MusicBrainz, and Cover Art Archive, with a labeled digital iTunes fallback. Suggestions are reviewed before saving; manual entry remains available when a provider is unavailable.
Use Node.js 22.18+ and npm. From a fresh checkout:
git clone https://github.com/jhsu22/atelier-strawby.git
cd atelier-strawby
npm ci
cp .dev.vars.example .dev.vars
npm run db:migrate:local
npm run seed:local
npm run dev
Open http://127.0.0.1:4321. The example environment enables editing only on localhost. Preserve an existing .dev.vars and .wrangler directory when returning to an established checkout.
The included CSV seeds 177 manga copies across 38 series. Repeating the same import preserves owner edits and does not add duplicate copies.
Local development uses emulated D1 and R2. Local state and the hosted collection are independent. An optional Google Books key belongs in .dev.vars; see the Google Books setup guide.
npm run validate # Lint, type checks, unit/integration tests, schema, build
npm run test:d1 # Tests against the local Cloudflare runtime
npm run test:e2e # Desktop/mobile browser and accessibility checks
npm run release:verify runs the complete release checks, including migration verification. Browser tests create disposable seeded D1/R2 state. They use system Chromium when available; otherwise install it with npx playwright install chromium. Use STRAWBY_TEST_PORT=4337 if the development server already occupies port 4321.
For anonymous shelf and access-denial checks:
STRAWBY_TEST_READ_ONLY=true STRAWBY_TEST_PORT=4337 npx playwright test public-access.spec.ts
The app runs on Cloudflare Pages with separate production and preview D1 databases and private R2 buckets. The checked-in wrangler.toml points to this installation; configure your own bindings, canonical origins, owner identity, and Access policy before deploying a fork. Keep credentials in Cloudflare secrets or ignored local environment files.
Follow the deployment guide for provisioning, migrations, publishing, backups, and rollback, and the public viewing and owner editing guide for the /edit Access policy. JSON backups contain artwork references; R2 image bytes need a separate backup.
| Guide | What you’ll find |
|---|---|
| User guide | Browsing, editing, imports, and backups |
| Deployment | Local setup and Cloudflare operations |
| Public access | Shared shelves and owner-only management |
| Released volumes | Edition matching, missing volumes, and catalog limits |
| Barcode scanning | Scanning manga ISBNs, matching, measured accuracy, and the recognition roadmap |
| Architecture | Application structure and service boundaries |
| Data model | Catalog entries, editions, and owned copies |
| Directory structure | Where code, tests, and assets live |
| Testing | Verification procedures and recorded results |
| Security review | Recorded findings and operational considerations |
Stage reports in docs/ preserve development history and the verification results recorded at each stage.