GSoC/GCI Archive
Google Code-in 2012 Apertium

a d3 graph to display apertium language pairs

completed by: reikaze

mentors: Francis Tyers, Jonathan, Kevin Brubeck Unhammer

Your task is to design a linked-node graph using d3 which shows available language pairs in apertium.  This will require a good knowledge of javascript.

The graph should be something roughly like this.

The data will be provided for you.  (Generating the data is another task, so you may want to consider doing that first if it hasn't been done yet.)

Your graph should support directionality and include clever ways of displaying nodes by various parameters, including things like:

  • whether pairs are in trunk, staging, nursery, or incubator (color coding of the node?);
  • when the pair was first started (some sort of color coding?  or size of node or node name?);
  • how many stems are in the pair (e.g., by size) (this may be hard and could be broken off as another task); and
  • when the pair was last updated (shade of the node's name?).

The code should also accept a few parameters for which languages to display based on

  • where the languages are (e.g., an array that can contain any or all of "trunk", "staging", "nursery", and "incubator" for including languages in those sources),
  • when the pair was first started (e.g., a start date and end date that will filter to only languages first started in the range between them),
  • when the pair was last updated (e.g., a start date and end date that will filter only languages last updated within the range between them).

If the task takes too long to complete, several of these features (such as the list of filter parameters above) may be broken off into new tasks.