Confirmed users
353
edits
| (5 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
= Team = | = Team = | ||
Bob Clary (bc) - Responsibilities include | Bob Clary (bc) - Responsibilities include all things data'ish. | ||
Jonathan Eads (jeads) - Responsibilities include | Jonathan Eads (jeads) - Responsibilities include all things web'ish. | ||
Mark Cote (mcote) - Responsibilities include | Mark Cote (mcote) - Responsibilities include all things admin web'ish. | ||
= Overview = | = Overview = | ||
| Line 59: | Line 59: | ||
==== Data Sources ==== | ==== Data Sources ==== | ||
A python module called datasource | A python module called datasource was used for all SQL/Database interactions (https://github.com/jeads/datasource). Datasource provides an interface to MySQL that allows SQL to be stored in a JSON file with an associated name and host_type (master, read_only, etc...). In order to send signals between data views portions of SQL had to be generated dynamically, this is managed by the datasource module to keep SQL munging out of the webservice and to provide a single location where all static SQL can be found (python/sisyphus/webapp/procs/bughunter.json). This allows SQL statements to be treated as "stored procedures", all statements are assigned a name and are suitable for re-use by other scripts. | ||
==== JSON Config Files ==== | ==== JSON Config Files ==== | ||
| Line 299: | Line 299: | ||
= Implementation = | = Implementation = | ||
== Client == | |||
The following list of javascript packages were used as core infrastructure pieces in the bughunter client architecture. | |||
* [http://jquery.com/ jQuery] - For DOM interactions | |||
* [http://moo4q.com/ moo4q] - For OOP in jQuery. All bughunter classes are built using this strategy. | |||
* [http://datatables.net/ datatables.js]- This jquery plugin was used for all tabular display of data. It's pretty awesome. | |||
* [http://documentcloud.github.com/underscore/ underscore.js] - This javascript module was used for some algorithms/datastructures and maintaining function context in event binding... among other things. | |||
* [http://thejit.org/ jit] - This data visualization javascript module was used for the Platform Tree representation. It absolutely rocks for representing hierarchical/graph type data. | |||
* [http://people.mozilla.com/~mcote/bughunter/BughunterFunctionalSpecification.pdf UI specification], This was the original functional spec that was developed at the beginning of this project. It's mildly entertaining to see how it deviates from the final product. | |||
* [http:// | == Webservice == | ||
* [http://nginx.org/ nginx] - Used as the web server. | |||
* [http://www.fastcgi.com fastcgi] - Used for running django. | |||
* [http://nginx.org/ django] - Used as the web framework. | |||
* [https://github.com/jeads/datasource datasource] - Used for encapsulation and dynamic generation of SQL with MySQL. | |||
== Database == | |||
* MySQL | |||