Skip to content

BookTracker is a full-stack web app that helps you track the books you’ve read; including start/finish dates, ratings, and reviews, with data fetched from the Google Books API and stored in a MongoDB database.

License

Notifications You must be signed in to change notification settings

ErdagEge/book-tracker-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.


✨ Features

  • 🔐 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

🧰 Tech Stack

Frontend

Backend


🚀 Getting Started

1. Clone the repository

git clone https://github.com/ErdagEge/book-tracker-app.git
cd book-tracker-app

2. Set up the server

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

3. Set up the frontend

cd ../client
npm install
npm run dev

To run locally:

npm run dev

Visit http://localhost:5173 to use the app.


🗃️ Project Structure

book-tracker-app/
├── client/        # React frontend (Vite)
│   ├── components/
│   ├── pages/
│   └── styles/
└── server/        # Express backend + MongoDB models + auth

🧪 Testing

Basic testing written with Vitest (optional). To run tests:

cd client
npm run test

📦 Deployment

Backend

Deployed on Render

Frontend

Deployed on Vercel


📄 License

This project is licensed under the MIT License. Feel free to use, modify, and distribute it.


🙌 Acknowledgements


🌐 Try It Out!

👉 Live App — give it a try!

About

BookTracker is a full-stack web app that helps you track the books you’ve read; including start/finish dates, ratings, and reviews, with data fetched from the Google Books API and stored in a MongoDB database.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published