BookTracker is a modern full-stack web application that helps you track your reading journey. Search for books via the Google Books API, log your progress, leave ratings and reviews, and visualize your stats with a clean, user-friendly interface.
Built with React, Node.js, MongoDB, and TypeScript, BookTracker supports multi-user authentication, dynamic dashboards, and custom notes for every book.
- 🔐 User Accounts - Sign up, log in, and manage your private book library
- 🔍 Book Search - Search titles with the Google Books API
- 📖 Library Management - Track your reading with:
- Custom start/finish dates
- Personal notes and star ratings
- Optional page count tracking
- 📊 Statistics Dashboard - Visualize books per month and total pages read
- 🗂️ Edit/Delete Entries - Easily update or remove any book
- 💾 MongoDB Integration - Data is stored per-user, securely in the cloud
- 🎨 Responsive UI - Styled with modern CSS for a smooth experience
- React
- Vite
- TypeScript
- CSS Modules
- Node.js
- Express
- MongoDB Atlas
- JWT for authentication
- Google Books API
git clone https://github.com/ErdagEge/book-tracker-app.git
cd book-tracker-app
cd server
npm install
Create a .env file in the /server directory:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
Start the server:
npm run dev
cd ../client
npm install
npm run dev
To run locally:
npm run dev
Visit http://localhost:5173 to use the app.
book-tracker-app/
├── client/ # React frontend (Vite)
│ ├── components/
│ ├── pages/
│ └── styles/
└── server/ # Express backend + MongoDB models + auth
Basic testing written with Vitest (optional). To run tests:
cd client
npm run test
Deployed on Render
Deployed on Vercel
This project is licensed under the MIT License. Feel free to use, modify, and distribute it.
👉 Live App — give it a try!