This site is a 100% custom-built engine, using my experience with other projects as a source (but all new, clean, documented code).
Twister (Natural Disaster Engine v4.0.0-alpha1)
The "Twister" engine (called NDE, "Natural Disaster Engine") is a ground-up re-code of the Tsunami/zerobuild engine I built in 2014 and deployed to production environments in 2015. The naming convention (Typhoon, Hurricane, Tsunami...) is limited; it seems that others have used various similar nomenclature. Plus I'm just not bored enough to keep coming up with new names.
It was developed in response to a need for a SEO-friendly multi-language engine with browser language detection, on-the-fly translation (
memcached redis) with
persistent storage (MySQL 5.7's improved indexing), and a simple interface for front-end designers to work with (MVC structures tend to be a
bit bloated and lead to poorly documented inter-weaving of code and design, at least in my real-life work experience in team environments).
The result is a multi-language templating engine that's extremely fast, and (for me) much less cluttered than any MVC structure I've worked with.
The layout and UI/UX of the site are 100% my design, using the following plugins/tools:
- Responsive Design/Accessibility - Bootstrap
- History Push - History.js
- UI Blocking/Growl Notifications - jQuery BlockUI
- Music Player - Web4Radio
- Icons/Glyphs - FontAwesome
- Compiler Tools - Grunt (which also has a neat sass plugin!)
- WebSockets - Socket.IO
- world-flags-sprite - by Martijn Lafeber (github repo)
Back-end Stuff (Nerdgasm!)
The backend stuff is also 100% my own code and engineering, running on multiple technologies. The basic part is an optimized FAMP stack (FreeBSD, Apache, MySQL, PHP)
running the website code, along with a node.js server handling the WebSockets requests. The streaming media is served using Icecast2, and the webcam
feed is a simple, cheap Tenda C30 IP camera. Double-layered caching (volatile via
memcached redis, persistent via query-optimized MySQL tables) are implemented
by both the PHP-based site engine and, wherever possible, other addons (i.e. the server push from the twitter feed). All of these are behind an nginx
instance that combines URLs under the same FQDN (because CORS is a huge pain in the ass) as well as provides caching above and beyond that provided by CloudFlare,
which neatly ties things up in a bow and provides (essentially) free SSL.