Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

21 MERN: Book Search Platform

License
React GraphQL Apollo MongoDB Express Node.js

Overview

This web application serves as a Google Books API-powered search engine, originally built using RESTful routes but enhanced by transitioning to a GraphQL API powered by Apollo Server. Constructed with the MERN stack (MongoDB, Express.js, React, Node.js), it enables users to browse for books, register or log in, save their favorite books, and manage their personal book list. The project emphasizes the streamlined data management benefits of GraphQL compared to traditional REST methodologies.

Table of Contents

  • Getting Started
  • How to Use
  • Key Features
  • API Structure
  • Contributions
  • License
  • Contact Info

Getting Started

# Clone this repository to your machine
git clone https://github.com/Deetoe/BookEngine-Chall18.git

# Move into the app's directory
cd mern-book-search-engine

# Install all dependencies for both front-end and back-end
npm install

# Build the project
npm run build

# Launch the development environment
npm run dev
How to Use
Once the app is running, you’ll be able to:

Look up books using the Google Books API

Sign up or log in to a personal account

Save books to your profile

View your saved book list

Remove books from your collection

Access the application locally via: http://localhost:3000

Key Features
Secure User Accounts: Sign up and manage your book list

Book Discovery: Browse and find books through live search functionality

Mobile-Friendly UI: Clean, responsive interface for all screen sizes

Database Integration: MongoDB is used to persist user and book data

GraphQL-Driven Backend: Simplifies querying and mutations with a single endpoint

Apollo Client Integration: Optimized frontend state handling and caching

API Structure
The app leverages GraphQL with the following operations:

Queries:
me: Retrieves profile details and saved books for the authenticated user

Mutations:
login: Verifies user credentials and issues a JWT

addUser: Registers a new user and returns a token

saveBook: Adds a book to the user's saved list

removeBook: Deletes a book from the saved list

Contributions
Developed by Daniel Gonzalez

License
This project is licensed under the MIT License.

Contact Info
If you have questions, suggestions, or feedback, feel free to reach out:
📧 Email: dannygonzr20@gmail.com
🐙 GitHub: Deetoe

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages