MartinCespedes / MERN_Book_Search_Engine

MERN book search engine is a user-friendly web application that uses MongoDB, Express, React, and Node.js to search and save books. With a simple interface and the ability to create an account, users can search for books by title, author, or ISBN number, and keep track of their reading progress.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

📖M.E.R.N Book Search Engine

Table of Contents

Description

This MERN stack application is a book search engine that allows users to search for books, view detailed information about them, and save them to their account. The app uses the Google Books API to fetch book data and stores all user transactions with MongoDB and Mongoose. With high-level authentication using tokens and JWT-decode, users can securely access and manage their saved books.

User Story

- AS AN avid reader
- I WANT to search for new books to read
- SO THAT I can keep a list of books to purchase

Installation

  1. To install application, clone the main project via the HTTP or SSH link on github.
git clone
  1. Once cloned, open the project folder in your text editor and run the following command in terminal to install all dependencies.
  • Important note - You will need to run the below command in the 'root', 'client' and 'server' directory paths.
npm install

Local-Usage

  • To use the MERN Book Search Engine on your local machine, follow these steps:
  1. Clone the project repository to your local machine using the following command:
git clone 'https://github.com/MartinCespedes/MERN_Book_Search_Engine.git'
  1. Install the project dependencies by running the following command from the project root directory:
npm install
  1. Start the development server by running the following command:
npm run develop
  1. Open your browser and navigate to http://localhost:3000 to access the application.
  • You can now use the search engine to find books, create an account, save books, and view your saved books list. Note that you will need to have MongoDB installed and running on your machine to use the application.

Technologies Used

  • Apollo-GraphQL
  • GraphQL
  • MongoDB
  • NodeJS
  • HTML5
  • CSS3
  • React
  • JavaScript
  • Express.js
  • Bootstrap

Features

  • The MERN stack book search engine has the following features:

    1. A user-friendly interface that allows users to search for books by title, author, or keyword.
    1. Detailed information about each book, including the title, author, description, image, and a link to the book on the Google Books site.
    1. Secure user authentication with tokens and JWT-decode, ensuring that each user can only access their own data.
    1. User account creation and login functionality, with options for both new and returning users.
    1. A saved books page that displays all the books a user has saved to their account, with options to remove books from the list.
    1. A menu that changes dynamically based on the user's authentication status, showing options for searching books, viewing saved books, and logging out.
    1. High-performance server-side rendering using React and Apollo Client, ensuring a smooth user experience.
    1. Modern, clean, and responsive UI design.
    1. ll transactions are stored with MongoDB and Mongoose, ensuring data security and reliability.
    1. User-friendly error handling with informative error messages and clear user feedback.
    1. Scalable architecture that can be easily extended and customized with additional features and functionality.

Application Screenshot Preview

ScreenShot-1

ScreenShot-2

ScreenShot-3

Resources/Credit

  • Starter Code Provided by : University of Miami

  • Author: Martin Cespedes - Link to my Github

License

License: MIT

This project is covered under the MIT License.

About

MERN book search engine is a user-friendly web application that uses MongoDB, Express, React, and Node.js to search and save books. With a simple interface and the ability to create an account, users can search for books by title, author, or ISBN number, and keep track of their reading progress.

License:MIT License


Languages

Language:JavaScript 94.4%Language:HTML 5.1%Language:CSS 0.5%