Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

BookNook is a full-stack web application for managing your personal library and reading lists. It allows users to track books, create and manage reading lists, mark favorites, and monitor reading progress. ---

Notifications You must be signed in to change notification settings

kriyptor/bookNook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

BookNook

BookNook is a full-stack web application for managing your personal library and reading lists. It allows users to track books, create and manage reading lists, mark favorites, and monitor reading progress.


My Project

Check out this demo video: Watch the demo video on Google Drive

Features

  • User Authentication: Secure login and registration using JWT.
  • Book Management: Add, edit, delete, and search books. Mark books as read, reading, or favorite.
  • Reading Lists: Create multiple reading lists, add/remove books, and track progress.
  • Dashboard: View statistics about your reading habits and completion rates.
  • Responsive UI: Built with React and Bootstrap for a modern, mobile-friendly experience.
  • API Integration: Uses Google Books API for book search and details.

Tech Stack

  • Frontend: React, React Router, Bootstrap, Axios, Vite
  • Backend: Node.js, Express, MongoDB, Mongoose
  • Authentication: JWT
  • Email: Nodemailer (Gmail)
  • Other: Google Books API

Getting Started

Prerequisites

  • Node.js (v18+ recommended)
  • npm
  • MongoDB (local or Atlas)

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/booknook.git
    cd booknook
  2. Setup Backend:

    cd SERVER
    npm install
  3. Setup Frontend:

    cd ../CLIENT
    npm install
  4. Configure Environment Variables:

    • Copy .env.example to .env in the SERVER folder.
    • Fill in your MongoDB URI, JWT secret, email credentials, and API keys.
  5. Start the Backend:

    cd ../SERVER
    npm start
  6. Start the Frontend:

    cd ../CLIENT
    npm run dev

Environment Variables

Create a .env file in the SERVER directory with the following:

DB_URI=your_mongodb_atlas_uri
JWT_SECRET_KEY=your_jwt_secret
API_BASE_URL=your_api_base_url
GOOGLE_API=your_google_books_api_key

Usage

  • Register and log in to your account.
  • Add books manually or search via Google Books API.
  • Create reading lists and add multiple books.
  • Track your reading progress and view stats on the dashboard.
  • Mark books as favorite, read, or currently reading.

Folder Structure

BookNook/
  ├── CLIENT/      # React frontend
  └── SERVER/      # Node.js/Express backend

Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.


License

This project is licensed under the MIT License.

About

BookNook is a full-stack web application for managing your personal library and reading lists. It allows users to track books, create and manage reading lists, mark favorites, and monitor reading progress. ---

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages