This project implements a book assignment view for teachers, allowing them to search for books, add them to a reading list, and remove them as needed. It uses modern web technologies to create a responsive and user-friendly interface.
- GraphQL: For querying the backend.
- Apollo Client: For state management and interacting with the GraphQL API.
- Material-UI: For UI components.
- React: As the frontend framework.
- TypeScript: For type checking and improved code quality.
- react-infinite-scroll-component: For implementing infinite scrolling in the reading list.
- localStorage: For persisting the reading list.
- Search Bar: Allows users to search for books by title.
- Search Results: Displays the book image, title, author, and a button to add the book to the reading list.
- Reading List: Displays all the books that the teacher has added.
- Remove Book: Allows users to remove a book from the reading list by clicking the icon.
- To start the backend, navigate to /backend and run
npm install
thennpm run start:dev
. - To start the frontend, navigate to /frontend and run
npm install
thennpm start
.