It’s been 3 weeks since my last blog post. I did not feel like writing weekly blog posts as there was not much to tell about. But now, with the first phase of GSoC coming to a close, I feel the time is ripe to tell about all the things that have been accomplished in the past month. As a quick reminder, at the end of the first week, I had basically zeroed down on the basic structure of the project and created the add credentials page.

Week 2

I created the back end and front end for running tests and the server result page. Tests are of two types:

  • One off tests: runs when user manually runs a test, or when a new credential is added
  • Periodic tests: runs periodically, used to show graphs of historical compliance

Week 3

This week consisted of making lots of small improvements and bug fixes to the server page, like showing the help for running failed tests in a modal on clicking the tests instead of showing it at the bottom and downloading test reports. By this time, I had completed all the tasks for first phase. (Strangely, I had completely overestimated the amount of time required) Other than that, I started reading d3.js manual and wiki to get a hang of it for creating graphs and decided on what all data should be presented in the graph.

Week 4

I started with creating rough mock ups for the graph. No matter what I tried, it looked horrible. The graphs had a “committee-designed” ring to it, if you know what I mean. But finally, after adding some transitions, tweaking the colors and fixing some SVG issues, I was finally proud of my design. Then, I started to write the backend for showing graphs. At first, I came up with very ugly solutions, but after some rest, I came up with better ideas and I am happy with the implementation.

Sidenote: d3.js is seriously awesome. It takes care of just the right amount of stuff giving full control to the developer. I plan to do some kick-ass visualisation stuff in the future with d3.js