Skip to main content

Technology

The frontend of the website is a React.js Single Page Application bootstrapped from Create React App.

The primary source of data for the application is sourced from WordPress through the REST API.

Primary technologies used#

ToolPurpose
ReactFront-end library
ReduxReact global state-management
WebpackJavaScript bundler
Create React AppBootstrapping React application base, autoprefixing CSS, minification
TypescriptJavaScript types
React routerReact route-based navigation
React helmetReact head/meta tag management
FormikReact form state management
Moment.jsJS datetime manipulation and display
YupForm validation
AxiosFetch requests
SassCSS post-processor
Normalize.cssCSS reset

The Create React App Webpack configuration will run CSS autoprefixing and minification, among other handy tools. Read the documentation for more info

TypeScript#

TypeScript is partially implemented across the application. This was recently introduced to enforce stricter data supply standards to React components. Ideally any existing code would be converted to TypeScript, however this could take some time. The TypeScript files have been changed to the .tsx or .ts extension whereas standard JavaScript/React files will have .jsx or .js. Both implementations will compile, so the current hybrid approach is working.

For more information on TypeScript visit the documentation.