ConfAgenda is a fast and small web application built to allow conferences attendees to easily navigate through the conference information and mark the talks of interest to create their own, personalized track.
Commit a28a8a7, that solved issue #6, adds incorrect dates to the URL. The format used in the JSON file provides the date in a format that doesn't need to increment the month by 1. In particular, lines 1 and 2 must be removed.
The "manifest" task defined in the Gruntfile.js has the timestamp option set to false. It should be set to true or removed (as true is the default value) to have a better cache versioning.
At the moment all the talks of the "Tracks" page are re-rendered after a user interaction, like the user starring a talk or visiting another page and then return to "Tracks", or the application fetching the data from the server. The process can be improved by re-rendering only the talks that have their state changed.
The process can be heavily improved especially when the user stars a talk. In this case all the tracks of that day are re-rendered instead of updating only the talk starred and a previously starred talk at the same time, if any.
When changing the day or the track visualized, the history of the browser should be updated. For example, if the user is browsing the track "JavaScript" of the 6th April 2015, the URL should be something like "/conference/04-06-2015/JavaScript". The URL allows the application to save its state that has two main benefits:
Let the user access the tracks of a given day or a specific track of a given day by specifying a URL
When going back in the history after reading the details of a speaker or a talk, the application will show the last day and track combination accessed
The TalkDetails, SpeakerDetails, and About classes only render elements based on their state and properties, so they should use the PureRenderMixin to improve their performance.