Full site revamp of the former heizoel.total.de, associated with Uhura Creative Media GmbH, now retired and merged into https://energieshop.totalenergies.de/
-
Backend:
- Django (1.5 upgraded to 1.6), south
- Django-Portlets, FeinCMS, CKEditor, django-compressor, requests, geoip2
- Rebuilt order system to use AJAX based views for a better user experience
- Using Google’s reverse geocode API (geo coordinates based) and MaxMind GeoIP (IP based) for finding the user’s location
- Built lots of JSON serving views for feeding the frontend modules
- Adding new functionality for ‘wishdelivery’, where users can choose when they’d like their heating oil delivered, strict rules in the backend with flexible prices
- Created custom template tags with variable parameters for menu generation (header/footer), order data retrieval, and other template helper functionalities
-
Frontend:
- full responsive HTML with Twitter Bootstrap 3.x, off-canvas menu in mobile view, customized grid, color set, buttons and inputs
- LESS, bless (blesscss.com), less-plugin-clean-css, CSS animations
- SVG graphics with SVG injection, wherever possible
- JavaScript: constructed RequireJS modules, jQuery, also using the browser’s location API. Each functionality in the site has their own RequireJS module built.
- Highcharts
- Asynchronous AJAX communication between Charts/Portlets/Order steps and Backend
- Used modules installed by bower: bootstrap, flexbox.less, fontawesome, highstock-release, jquery-touchswipe, jquery-validate, require-css, requirejs, seiyria-bootstrap-slider, svg-injector, awesome-bootstrap-checkbox, bootstrap3-datetimepicker, bootstrap-select, momentjs
- Bootstrap functionalities used: carousel (main page), affix (order overviews), tooltips, glyphs, panels (for messages), collapsibles (FAQ), modals, navs
-
Server-side/Devops:
- Prepared a migration script to automatically upgrade the old site to the new one in one simple step.
- Created a css compiler/minifier/splitter script to prepare CSS for production use
- Built a MaxMind GeoIP city level DB update script, to be run from cron
- Created a Django module dump creator script to ease migrations and local development updates