From a set of strings, create a tree that contains all the letters of all strings (at least 1000 strings and 500 letters). The tree must have a single root and branches must have a topology that allows representation in 2d without crossings. The order of the letters in the strings must be preserved, first letter nearest to the root. A given letter must only occur once in the tree. Draw a representation of the created tree, exactly matching the provided screenshots. The color of a given tree component goes from green to red based on the number of occurence of the letter in all strings. In the provided CSV file, the first field is the name of the string, the second field is a letter of a string (i.e. it can be mapped to a uniq symbol). The delivered software must create the exact same tree as provided in the screenshots when reading the CSV file. Implementation must be fully done in Java. A set of examples and mockups will be provided to bidders to help them in their evaluation.
A1) Complete and precise implementation of the description of the bid request.
A2) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
A3) Deliverables must be in ready-to-run condition, as follows: a software installation package that will install the software in ready-to-run condition for Debian GNU/Linux.
A4) The software package source form must be suitable for the debuild command, be lintian clean and install properly with pbuilder.
A5) The software installation package must be provided with the first status report and updated for each status report. A6) Buyer will receive exclusive and complete copyrights to all work purchased. Third party software may be included as long as they are published under a license compatible with the GNU GPL.
A7) Software must obey the GNU coding standards as found at [url removed, login to view]
A8) Software must be platform and os independent.
A9) Software must be commited to the CVS repository defined in the bid request description.
A10) All commits to the CVS must be tested to pass the distcheck target (make distcheck) as defined by autotools ([url removed, login to view])
A11) The reason for each change (not the change itself) must be explained in the ChangeLog file at the root the package tree. R1) A set of unit tests covering 100% of the code of the software package defined in the bid request description.
R2) make distcheck must run the unit tests, report the total percentage of coverage and list all the lines of code (either python or c or c++) that are not covered.
R3) Implement a verbose mode for running the tests so identifying which unit test fails and why is straightforward.
GNU/Linux, Windows, MacOSX, Firefox, Iceweasel, IE