Project: Qivicon

The client entrusted me to construct and structure three web applications which connect to the Qivicon platform and which fall in the category “Internet Of Things”: the apps allowed users to control their heating-system at home, change the state of lighting and measure power consumption of household appliances through the modern web browsers installed on either smart-phone or regular PC.

The applications were build upon the MVVM programming pattern, with a true separation in the JavaScript code between the “view”, the “model” and the “controller” and “services”. Since we were working in a team of ten people, this separation allowed us to organize the work and changes applied to the application modules. It also meant that the application-code was fully testable using continuous integration.

Tools Used

What I learned

  • Constructing Single-Page Web applications with RequireJS and KnockoutJS on top of the “Model View View Model” pattern.
  • Mobile-First and adaptive/responsive web design.
  • Working with Microsoft’s Team Foundation Server which was later renamed to Visual Studio Online.
  • Including code reviews, the wiki and project planning.
  • Coding JAVA using the OSGI platform.
  • Agile Development in bi-weekly sprints and Scrum best practices.
  • Test Driven Development and continuous integration with Visual Studio’s Testing Tools and Services.
  • Setting up a build server with Microsoft Visual Studio using XAML process templates.