Summer 2017 | University of California, San Diego CSE Department
Homework #4 - Releasing Our Server Side App
This homework presents an opportunity to finish our exploration into Web app building by preparing our SoundBoard app for production.
In the previous assignment you completed the bulk of your coding tasks. In this assignment we will refine our program in three ways:
Performance - by making our executions faster for our end users
Security - by locking down our app in preparation for the hack contest
Polish - addressing things undone or done poorly in HW3 and adding docs and polish for the final launch
The performance part of the assignment should be measured both before and after your efforts. Use a tool like Webpagetest.org or your browser's developer tools to show load times of your app before you optimize and after your optimize. Use compression, minification, source bundling, image sprites, caching, image optimization, HTTP2 and any other trick you see fit for you gain. Your changes should be global. Server-side schemes like PHP accelerators are possible, but likely you will find client side efforts the most useful to hit your speed goal.
Security wise you should attempt to lock down your app as hard as possible. 'Unhackable' apps will retain full points during the hack contest. Apps with holes may lose points during the content described separately which your team may gain if you hack successfully. Make sure you particular think carefully about data validation, especially around your sign-up and login process and the associated session system.
Polish wise you should comment and organize your code and maybe your interface for handoff to the TAs. You should put together a short PDF document of slides or easily readable report with bullet points that indicates any improvements you made from HW3 to HW4. If you lost points on HW3 because you couldn't finish in time now is the time to do this