๐ Chaptered
A social reading platform to track books, build habits, and connect through book clubs.
๐ Live Demo: Coming Soon ๐ Docs: TECHNICAL_PLAN.md
๐ What is Chaptered?
Chaptered is a full-stack web application designed to make reading more engaging, social, and consistent.
It combines:
๐ Personal reading tracking ๐ฅ Book clubs & discussions ๐ Reading analytics
Built as a 7-day MVP, it showcases scalable architecture, real-time features, and modern dev practices using React, Node.js, and MongoDB.
๐งฉ Features โ Current (MVP - Phase 1)
๐ Authentication
JWT-based login/signup Secure password hashing Persistent sessions
๐ Reading Tracker
Add books (manual + Google Books API) Track reading sessions (pages + time) Reading streaks & stats
๐ Dashboard
Active books overview Weekly reading insights Quick session logging
๐ Book Discovery
Search via Google Books API One-click add Manual entry support
๐ฅ Book Clubs
Create/join clubs Invite via code Track member progress
๐ฌ Real-Time Chat
Socket.io powered messaging Persistent history Timestamps
๐ณ๏ธ Book Voting
Suggest books Vote within clubs Auto-select winning book ๐ง Upcoming (Phase 2) ๐ณ Stripe-based premium tier ๐ค AI Reading Coach ๐ฏ Personalized recommendations ๐ง Spoiler-free discussions ๐ฎ Future Vision (Phase 3+) ๐ฑ Mobile app (React Native) ๐ Video book club meetings ๐ Push notifications ๐ Reading challenges & badges ๐ ๏ธ Tech Stack Frontend React 18 + TypeScript Vite Tailwind CSS Zustand React Router Axios Socket.io Client Backend Node.js + Express TypeScript MongoDB + Mongoose JWT Auth Socket.io DevOps Vercel (Frontend) Railway / Heroku (Backend) MongoDB Atlas ๐ Project Structure chaptered/ โโโ chaptered-web/ # React frontend โโโ chaptered-api/ # Node.js backend โโโ README.md ๐ Getting Started
- Clone Repo git clone https://github.com/yourusername/chaptered.git cd chaptered
- Setup Frontend cd chaptered-web npm install npm run dev
- Setup Backend cd chaptered-api npm install npm run dev
- Environment Variables
Backend .env
PORT=5000 MONGODB_URI=your_mongodb_uri JWT_SECRET=your_secret FRONTEND_URL=http://localhost:5173
Frontend .env.local
VITE_API_URL=http://localhost:5000/api ๐ก API Overview Method Endpoint Description POST /auth/signup Register user POST /auth/login Login GET /auth/me Current user GET /books Get books POST /books Add book POST /books/:id/sessions Log session
๐ Full API: TECHNICAL_PLAN.md
๐ Authentication Flow User logs in/signup Backend returns JWT Token stored in frontend Sent via Authorization: Bearer Middleware verifies requests ๐งช Testing Backend curl http://localhost:5000/api/health Frontend Test signup/login Verify dashboard loads Check API calls in DevTools ๐ Deployment Frontend (Vercel) Connect repo Set VITE_API_URL Deploy Backend (Railway) Add environment variables Deploy via GitHub ๐ค Contributing
We welcome contributions!
Steps git checkout -b feature/your-feature git commit -m "feat: add new feature" git push origin feature/your-feature
Then open a Pull Request ๐
Contribution Guidelines:
- Use TypeScript
- Follow existing structure
- Keep functions small
- Write clear commit messages
๐ Issues & Support Open an issue for bugs Use discussions for ideas Include reproduction steps
MIT License
๐ฉโ๐ป Maintainer
Vanshika Sharma Open to collaborations and contributions!
๐ก Why This Project Matters
Chaptered isnโt just a tracker. Itโs trying to turn reading from a solo habit into a shared experience. Less โbooks gathering dust,โ more โstories sparking conversations.โ