Skip to content

An Open Book Library application built using the combination of AngularJS,Tailwind CSS and NextJS and combining it with the search and subject OpenLibrary API

Notifications You must be signed in to change notification settings

shahhilag4/frontend-internship-assignment

 
 

Repository files navigation

Fyle Frontend Challenge-Hilag Shah

Challange solutions:-

  • Implement Search by book title or author name - Implementation in src/app/components/home/home.component.ts (Line 78-134)
  • Paginated results - Implementation using material UI pagination set with a limit of 10 search results per page - Implementation in various places in home.component.ts and line 64 in homecomponent.html
  • Added limit and offset to improve search performance - Implementation in book.service.ts while making API calls
  • Clear search text - Implementation in home.component.ts on line 174 to 179
  • Handle edge cases related to api calls (like when the link is undefined then there is no use to redirect user to the link) - Implementation in home.component.html from line 45-48 and also solved some edge cases like error handling in the home.component.ts file
  • Add Loaders on the page while fetching data for both the Trending Subjects redirected table view and the new Search result view - Added both while fetching data and in Trending Subjects.You will notice a "Loading...." text.
  • Add a Back button to Go back to the home page from the Trending Subject page-Added back button in Trending Subject Page.
  • Implement caching for the API responses - Implemented caching for the API responses - home.components.ts - Line 88 to 98
  • Deployed application - Deployment link added to description
  • All tests passed - Run npm run test to check
  • All console errors suppressed - Run npm run test to check

Note - Please wait for some time for search results to be available

Who is this for?

This challenge is meant for candidates who wish to intern at Fyle and work with our engineering team. The candidate should be able to commit to at least 6 months of dedicated time for internship.

Why work at Fyle?

Fyle is a fast-growing Expense Management SaaS product. We are ~40 strong engineering team at the moment.

We are an extremely transparent organization. Check out our careers page that will give you a glimpse of what it is like to work at Fyle. Also, check out our Glassdoor reviews here. You can read stories from our teammates here.

Challenge outline

This challenge involves implementing a Books Library using the Open Library Subjects and Search APIs . The challenge is described in detail here

Note - This challenge is in angular. We work on angular frameworks & after you join we expect the same from you. Hence it is required to complete this assignement in angular itself.

What happens next?

You will hear back within 48 hours from us via email.

Installation

  1. Fork this repository to your github account.
  2. Clone the forked repository and proceed with steps mentioned below.

Install requirements

  • Install Nx using the Nx Documentation
  • Install nvm for linux or mac from this url
  • Install nvm for windows from this url
  • Check nodejs version by typing : node -v
  • Install dependencies : npm install --save-dev

Development server

Run nx serve front-end-internship-assignment for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Further help

Visit the Nx Documentation to learn more. Visit the Angular Documentation to learn more.

About

An Open Book Library application built using the combination of AngularJS,Tailwind CSS and NextJS and combining it with the search and subject OpenLibrary API

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 72.2%
  • HTML 13.9%
  • SCSS 10.2%
  • JavaScript 3.7%