This project was bootstrapped with Create React App, using the Redux and Redux Toolkit template.
This project is used to provide sample mortgage quotes for the given criteria (loan size, credit score, occupancy, property type). Provide the API key in the local storage under key 'dev-auth'. This serves as the authentication mechanism. Based on the input criteria the sample rates would be displayed. If none match the criteria, then no results would be displayed. Input validation and value changes are guarded and network request is made if at least one criteria change. Responsive stylings are used to support all types of viewport spaces. Project follows best practices as suggested by the React community. Blueprint components and Mock service response libraries are used in the project.
Future enchancements would be caching the server responses for previously searched criteria.
- Clone this repo https://github.com/ganesh-arumugam/mortgage-rates.git
- Go to application folder
cd rates-mockup - Install dependencies with
yarn install - Start the project from terminal with
yarn start - Provide the API key in the local storage under key 'dev-auth'.
Project works on the latest chrome browser and with lastest React 17 version.
- Input criteria filled up and produces a sample rates table.
- Input criteria not filled up, provide user validation.
- If same criteria used to fetch rates, stop multiple rate fetches.
- If no rates are available, provide a gracious error to user.
- If
dev-authkey is changed after app load, user needs to refresh app. - App handles web service errors.
In the project directory, you can run:
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.