https://enigmatic-badlands-91361.herokuapp.com/
My challenge was emblematic of the fact that most modern websites are driven by two things: data and user demands. This shouldn't come as a surprise, as the ability to personalize user data is the cornerstone of real-world web development today. And as user demands evolve, applications need to be more performant.
I took a fully functioning Google Books API search engine built with a RESTful API, and refactored it to be a GraphQL API built with Apollo Server. The app was built using the MERN stack, with a React front end, MongoDB database, and Node.js/Express.js server and API. It was already set up to allow users to save book searches to the back end.
To fulfill the challenge, I needed to do the following:
Set up an Apollo Server to use GraphQL queries and mutations to fetch and modify data, replacing the existing RESTful API.
Modify the existing authentication middleware so that it works in the context of a GraphQL API.
Create an Apollo Provider so that requests can communicate with an Apollo Server.
Deploy the application to Heroku.
- nodejs - to run the server in the terminal
- GraphQL - Transferring from REST API
- Apollo - Server to run GraphQL
- concurrently - Allows multiple commands to be executed in scripts
- bcrypt - Variable encryption
- express - Node.js framework for handling original API's
- react - Javascript library for building UI's
- JSONWebToken - Handling user data/authentication
- boostrap - UI Framework
- Migrating original API requests to go through GraphQL
- Applying Apollo Server in app.js
- Using Config Vars from Heroku correctly, including openssl legacy provider
- Social media - users can comment on another user's saved books
- More UI Options - more modern look
AS AN avid reader
I WANT to search for new books to read
SO THAT I can keep a list of books to purchase
- Clone directory to code editor of choice
- Use custom
$npm run develop
script to watch changes while working - Use
$npm run build
to build the webpack
MIT © Krenbot