google book search engine - full stack
Link to Deployed application: https://calm-dawn-69453.herokuapp.com
A full stack application that lets user search for books through google search and lets users save results into mongoose database and later delete the record if they so choose.
- First run
npm install
in the terminal to install all the dependencies. - Use <React.Fragment> tag to encompass all the components in a return statement.
- refer to package.json for build commands(make sure you're in the right folder before doing
npm run build
the first time!) - for
gh-pages
to show up under settings in github, one needs to npm run build and then npm run deploy after adding to the scripts inpackage.json
. - After running
npm run build
in the client folder, runserve -s build
(make sure younpm install -g serve
if you don't have it globally installed). This way, you can look at what you built
- React JS
- HTML
- JavaScript
- JSX
- mongoose
- materialise css
- npm modules:
- AXIOS
- Express
- if-env
- mongoose
- path
- body-parser
- gh-pages
- nodemon
- file-loader
- concurrently
- Heroku add-ons:
- MongoDB
- mLab
- How to integrate knowledge from gifTastic project and translate documentations for multiple npm modules to work with JSX instead of Jquery.
- In order to see the react app locally, you have to have a build folder created and served
- You need to have both Express server running
nodemon server
on (localhost:4000) where the server.js is located. There's also frontend react server running in clientnpm run rerun
, through localhost:5000. - Middleware CORS needed so that react server talks to express.
- Use React routing and socket.io to create a notification or a component that triggers whenever a user saves an book. Your message should include the title of the saved book.
- Say you have multiple browsers open, each one visiting your site. If you save an book in one browser, then all of your browsers should notify you that a new book was saved.
- Use Socket.io NPM package
- Add number of API results in a badge using a component
- Add autocomplete materialize css for the search input- https://materializecss.com/autocomplete.html
- Create a Favicon.io! :D