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.
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
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.
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