📖M.E.R.N Book Search Engine
Table of Contents
- Description
- User Story
- Installation
- Local Usage
- Technologies Used
- Features
- Application Screenshot Preview
- Resources & Credit
- License
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
- To install application, clone the main project via the HTTP or SSH link on github.
git clone
- 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:
- Clone the project repository to your local machine using the following command:
git clone 'https://github.com/MartinCespedes/MERN_Book_Search_Engine.git'
- Install the project dependencies by running the following command from the project root directory:
npm install
- Start the development server by running the following command:
npm run develop
- 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
Features
-
The MERN stack book search engine has the following features:
-
- A user-friendly interface that allows users to search for books by title, author, or keyword.
-
- Detailed information about each book, including the title, author, description, image, and a link to the book on the Google Books site.
-
- Secure user authentication with tokens and JWT-decode, ensuring that each user can only access their own data.
-
- User account creation and login functionality, with options for both new and returning users.
-
- A saved books page that displays all the books a user has saved to their account, with options to remove books from the list.
-
- A menu that changes dynamically based on the user's authentication status, showing options for searching books, viewing saved books, and logging out.
-
- High-performance server-side rendering using React and Apollo Client, ensuring a smooth user experience.
-
- Modern, clean, and responsive UI design.
-
- ll transactions are stored with MongoDB and Mongoose, ensuring data security and reliability.
-
- User-friendly error handling with informative error messages and clear user feedback.
-
- Scalable architecture that can be easily extended and customized with additional features and functionality.
Application Screenshot Preview
Resources/Credit
-
Starter Code Provided by : University of Miami
-
Author: Martin Cespedes - Link to my Github
License
This project is covered under the MIT License.