Hate to website engineering
When writing this section, it has been 4 years ago, when I started with my enable-from-everywhere Smarthome light project.
The first application that I wrote to enable the lights was using an URL and some relay with an Arduino and ethernet-shield. The URL was as followed:
Very quickly I concluded that it is not user-friendly for enabling multiple lights.
Therefore an Android app was written that had multiple versions, just for turning the lights on and off. As there was still no security and a few friends start to play with my lights, YES I had to do security by obscurity. What is never a good plan, but the lights were not altered after the obscurity.
After some time I added some features to remember the state of the lights, this was written in a static HTML page with bootstrap. The idea of easy feature adding without the need of distributing the Android app makes a webpage more attractive. Therefore the lights were enabled again from my server that hosted with docker a webpage and https.
Everyone with my correct URL (https://test.muino.nl) could play with my lights. The website is disabled for use, and some features are disabled.
The website for enabling my lights had some cool features like weather planning, status of my lights, and a the RSS-feed from a Dutch tech website Tweakers. After a while the website had features others could also use. Letting my lights untouched by others a secure implementations needed to been done. Therefore after a few weeks of discussing with multiple experienced people for choosing a website framework, I concluded that Angular would suite best. The main reason for choosing Angular was that it uses Typescript, and having enforce a better structure. At this moment I had secured my lights. Using the following applications: Angular, NodeJs, MongoDB, and Redis. At the moment the plan to convert to PostgresSQL is underconstruction. For the people with a security background, I use MongoDB using a public/private key setup, where my database is only accessible from my own server.
TU Delft courses
For the TU Delft their were two courses were you had to handin your own questions on weekly based realted to the lectures, and the papers you needed to read. Their were many people
Prikklok is Dutch for old time accounting system that workers used for checking in and out for their work. After a lot of ‘projects’, I wanted to know how much time I spend on a project. Therefore I wrote Prikklok system that keeps track of projects and tasks screenshot.