Education widget
The total of educations that can be followed in the Netherlands amount to a reasonable pile of data. Studiekeuze123 wanted something with which to search this data. It also had to be easy to implement and customiseable. The result is a single script that connects to an Elasticsearch server.
Our reason for choosing Elasticsearch was speed. Elasticsearch is extremely fast. The downside is that it takes a whole different mindset because it seems limited compared to regular databases where you can easily execute a joined query for instance.
We used Python to pull everything from existing endpoints into Elasticsearch at regular intervals.
The final result is relatively small. CSS and HTML are parsed into the script through the build process using the headless browser PhantomJS. For other dependencies CDN’s are used.
Bootstrap is used for the CSS basis but this can be disabled at will. The layout is very easy to override since the CSS the script provides is injected to document.styleSheets rather than simply added to the DOM.
The build process also generates documentation and examples using Markdown with JSDoc.