Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/nperez0111/bookhive. Track your books, share your shelves, see what others are reading bookhive.buzz
atproto bluesky books bookshelf goodreads management-system
Something went wrong. Try again.
README.md
Routes structure (Hono best practices) #
Routes are split by domain and mounted with app.route().
Layout #
index.ts– Barrel:mainRouter,createRouter,searchBooks. Useimport { mainRouter, searchBooks } from "./routes"or"./routes/index".main.tsx– Composes context, auth, jsx layout, images, methodOverride, then mounts domain routers and xrpc.lib.ts– Shared helpers:searchBooks,refetchBooks,refetchBuzzes,ensureBookIdentifiersCurrent,syncFollowsIfNeeded.admin.ts–/admin/export. Mounted at/adminfromapp.ts.import.ts–/import/goodreads,/import/storygraph. Mounted at/importfromapp.ts.pages.tsx–/,/.well-known/atproto-did,/app,/privacy-policy,/import,/genres,/genres/:genre,/authors/:author. Mounted at/in main.profile.tsx–/profile,/profile/:handle,/profile/:handle/image,/refresh-books. Mounted at/in main.books.tsx–/:hiveId,/:hiveId/comments, POST/, DELETE/:hiveId. Mounted at/booksin main.comments.tsx– POST/, DELETE/:commentId. Mounted at/commentsin main.api.tsx–/update-book,/update-comment,/follow,/follow-form. Mounted at/apiin main.
Main app (app.ts) #
Global middleware, health/metrics, then app.route("/admin", adminRoutes), app.route("/import", importRoutes), app.route("/", mainRouter(deps)), static, sitemap, 404.