Page Turner is a web app that helps you connect and import your reading lists from Goodreads, providing a unified view of all your books across different shelves.
- Connect Goodreads Account: Securely connect your Goodreads account via a simple authentication flow.
- Automatic Import: Instantly fetch your book shelves and reading history.
- Organized Dashboard: View all your books organized by shelf (Reading History, Wish to Read, etc.).
- Book Details: See book covers, ratings, added dates, and links back to Goodreads.
- Share Your Reading List: Confirm and share your reading list to claim rewards.
- Privacy-Focused: Credentials are used only for session and never stored.
- Connect Account: Use the onboarding flow to connect your Goodreads account via secure sign-in.
- Import Books: The app fetches your book shelves and reading history.
- View Dashboard: See all your books organized by shelf with covers and ratings.
- Share & Confirm: Confirm sharing your reading list to claim rewards.
- Frontend: React (Vite), TypeScript, Tailwind CSS, React Router.
- Backend: Express.js with session management.
- Integration: Goodreads account connection via secure authentication.
- Data Model: Books include title, author, cover, rating, shelf, added date, and Goodreads URL.
- Celebrations: Confetti animation for confirmation milestones.
- Error Tracking: Sentry integration for both client and server-side error monitoring.
Create a .env file in the project root with the following variables:
GETGATHER_URL=http://localhost:23456
# Sentry Configuration (optional)
SENTRY_DSN=https://your-dsn@sentry.io/project-id
The app will work without Sentry configuration - errors will simply not be tracked.
npm install
npm run dev