This project was an exercise in taking a foreign code base and improving the performance. As seen below, my current scores are excellent. The commit history, of the master branch, should serve as a thorough list of the steps I took to improve the website. Since the initial website was just the front end, I made a simple server, so it could be accesible to testing websites. This occurs at the commit with the short hash of 9839944.
- Mobile: 99/100
- Desktop: 94/100
- First Byte Time: A
- Keep-alive Enabled: A
- Compress Transfer: A
- Compress Images: A
- Performance grade: 82/100
- Page size: 720.0 KB
- Load time: 192 ms
- Requests: 46
- PageSpeed Score: 91%
- YSlow Score: 75%
- Fully Loaded Time: 1.4 s
- Total Page Size: 736 KB
- Requests: 46
- Mobile: 62/100
- Desktop: 59/100
- First Byte Time: A
- Keep-alive Enabled: A
- Compress Transfer: F
- Compress Images: B
- Performance grade: 75/100
- Page size: 1.8 MB
- Load time: 266 ms
- Requests: 47
- PageSpeed Score: 69%
- YSlow Score: 64%
- Fully Loaded Time: 1.8 s
- Total Page Size: 1.77 MB
- Requests: 47
To fully optimise performance, code will be pushed from a 'minified' branch, which uses all the same code as the 'master' branch, but with all of the files minified. Any changes made should affect the master branch, then update the 'minified' branch.
This can be done automatically by running the minified script: 'npm run minified'
Note: The minification script is in bash, and will therefore require the bash shell to run in Note: you may need to use the chmod command to enable use of the script
Due to a dependency in html-minifier, inline JavaScript is not currently minified in public/index.html. This is likely a simple fix, but has not been implemented yet, as it affects the minification of JavaScript files (they use a different minifier, and I need to ensure that installing the html dependency does not pollute the namespace).