尚未检测到更新。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.