A modern, full-stack reading group management platform. (> 99% written by Gemini)
This project is built as a monorepo with two main components:
- Client (
/client): A Vue 3 Single Page Application (SPA) built with TypeScript and Vite. It handles the user interface for browsing books, scheduling events, and managing the library. - Worker (
/worker): A serverless backend built on Cloudflare Workers. It uses Hono (web framework) and Drizzle ORM to interact with a Cloudflare D1 (SQLite) database.
- Library Management: Search Google Books and add them to your group's library.
- Voting/Selection: Mark books as "Current", "Read", or "Candidate".
- Events: Schedule and manage reading group meetings.
- Secure Authentication: JWT-based login for curators and administrators.
- Admin Controls: Invite new members and manage roles directly from the dashboard.
- Notifications: Automated Email and Signal notifications when a new book is selected (via Worker).
- Responsive Design: Optimized for both desktop and mobile web.
Navigate to the worker directory to start the local backend.
cd worker
npm install
# 1. Create .dev.vars with JWT_SECRET=your_secret
# 2. Generate and apply migrations
npm run generate
npx wrangler d1 migrations apply morethan-db --local
# 3. Start dev server
npm run dev- This will start the local Worker API (usually at
http://localhost:8787).
Navigate to the client directory to start the dev server.
cd client
npm install
npm run dev- The frontend will be available at
http://localhost:5173.
If you encounter 500 errors on the API, ensure you have:
- Run
npm run generateand applied migrations (--localfor dev,--remotefor prod). - Configured
JWT_SECRETin.dev.vars(local) or viawrangler secret(remote). - Seeded an initial admin user (see DEPLOY.md).
This project is designed to be deployed entirely on Cloudflare.
- Frontend: Cloudflare Pages
- Backend: Cloudflare Workers + D1 Database
👉 See DEPLOY.md for detailed step-by-step deployment instructions.
.
├── client/ # Vue 3 Frontend
│ ├── src/
│ └── ...
├── worker/ # Cloudflare Worker Backend
│ ├── src/
│ └── ...
├── DEPLOY.md # Deployment Guide
└── README.md # Project Overview