This application is to search professionals in UK region. It has the following features as listed below:
- User can search professionals by selecting category and postcode.
- Category are getting populaed dynamically by plentific api.
- Post code should be a valid post code.
- On search data gets displayed in below section with following fields:
- ID
- Name
- Postcode
- Review Rating
- At a time it fetched the data as per page limit 20 and page offset.
- Pagination will get displayed dynamically as per the total result retreived from response headers.
-
Implemented search form validation as required for both category and post code.
-
for post it also validates the format with the regex listed on reference link.
-
Removed random string form name retreived from api by using regex.
-
To fetch data from api for search professionals have taken 2 approaches into consideration:
- Fetch complete data in one go and implement pagionation as per data retreived.
- Fetch only 1 page data as only 20 records at a time initially for 1st page and then respective to page no and offset value.
From the two approaches listed above have taken 2nd approach into consideration due to the problem I see with 1st approach, which is:
- With 1st approach, data will loaded in one go and stored in redx store this will consume more time given that if there are thousands of records api will take more time and page prformance will not be good, also will take more capacity to store the data at client side.
- With 2nd approach, ony 20 records will be retreived in one go and then on every page change respective page data will be fetched, This will be better approach in terms of performace optimization, also consumes less space at client side.
-
Header title change respective to story
-
Implemented Footer.
- Go to Root directory of application and execute following commands:
$ cd search-professionals $ search-professionals> npm install $ search-professionals> npm start
- Application will launched into browser as http://localhost:3000
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.