Visa Processing Time's tool is a customer self serving form that calculates whether the visa applicant is within a decision response window or not (In SLA or not) and also a date is provided to the customer of when they will hear back from the Home Office.
The application is built using HOF (Home Office Forms) framework
Estimated response time for visa applications is calculated according to SLA, excluding non-working days (weekends and bank holidays).
Bank holiday data is fetched from the Gov.UK Bank Holidays API.
Data will be written to a file, which is updated when the server is restarted, then the app will attempt to fetch the latest bank holiday data and update the file every 24 hours. It is also updated when the application is run locally, and then checked in to version control. This ensures there is an offline backup of this data.
SLA data is stored in JSON and checked in to version control. Currently, there is only one set of SLA data. However in the future we may need to support multiple versions of the SLA data.
- Node.js - v.20 LTS
- Redis server running on default port 6379
- Create a
.envfile in the root directory and populate it with all the required environment variables for the project. - Install dependencies using the command
yarn. - Start the service in development mode using
yarn run start:dev.
Tests are run using Jest.
Run all tests:
yarn run testRun unit tests:
yarn run test:unitRun linting:
yarn run test:lint