Skip to content

HasanOmar1/Book-Library-Fullstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 

Repository files navigation

Final Project Book Library

Click on client or server to read the README file for each one , or read both here.

Book Library Frontend

I have created a responsive book library using React for the frontend and MongoDB for the backend.

Links


About

  • Login and Sign-up with authorization.
  • Each book has its own about page.
  • You can read a book.
  • You can add a book to your library.
  • You can remove a book from your library.
  • You can comment on a book.
  • You can remove your comment.
  • You can add your own book.
  • You can delete your own book.
  • You can search for a book.

  • There are categories based on each book's category.
  • There is a category for books added by people.
  • You can check out books written by well known authors.
  • There are Fairy Tales books.

Things to know

I have used puppeteer package to scrap books pages.

  • The pages of the Fairy Tales are real pages.
  • The pages of the other books are the same.

I couldn't find real pages for the other books so i just scraped random chapter

of a book and added it to the pages just to fill them.

  • You can click on the email icon in the footer to contact me.

Used packages

  • Material UI
  • Bootstrap
  • React Page Flip
  • React Toastify

Preview

home-page-1 home-page-2 home-page-3 home-page-4 sign-up search-page add-book library my-book about book-page read-book


Book Library Backend

I have created a responsive book library using React for the frontend and MongoDB for the backend.

Links


Used packages

  • Mongoose
  • Express
  • Dotenv
  • Cors
  • Bcrypt
  • JWT Token
  • Puppeteer

About

  • There are four schemas. [User , Books , FairyTales , Comments]
  • There are authorization tokens for each user.
  • There is an error middleware.
  • I used puppeteer locally because i couldn't deploy my backend with it. [puppeteer.js shows the work]

Endpoints