blob: 18ab7013eb2dde974e7ece46226419c349939ec1 [file] [log] [blame]
#summary Ideas List for GSoC 2013
#labels Importance-Useful,Featured
*Melange* is the software that powers Google Summer of Code. If improving the way that Google Summer of Code is run as your Google Summer of Code project sounds attractively recursive, please read on!
= Ideas! =
We welcome your ideas, whatever they might be for Melange - but here are a few of our own for what we think might be good student summer projects:
== Developer Workflow Improvements ==
In the last year Melange has gotten serious about mature software development practices, but our work in this area is far from complete. A project oriented around developer workflow would involve removing derived assets from source control, making derivation of those derived assets part of our build process, and running static analysis tools such as lint and documentation extraction over our source code.
*Relevant Skills:* Python, <a href="http://www.buildout.org/">Buildout</a>
*Probable Mentor:* Nathaniel Manista
== Integration of Summer of Code's "Connections" subsystem with Code-in. ==
Melange recently gained a "Connections" subsystem for building relationships between participants, but Connections is only integrated with Summer of Code, one of the two programs that Melange powers. Empowering Code-in with Connections would be a suitable student effort.
*Relevant Skills:* Python, HTML
*Probable Mentor:* _undecided_
== Javascript Tests ==
Melange has a great deal of Javascript code that needs to be extracted from templates and other hiding holes, refined, and tested.
We already have a testing architecture in place (using Testem, Jasmine, PhantomJS) but we need to start writing tests.
*Relevant Skills:* Javascript
*Probable Mentor:* Mario Ferraro (Merio on #melange)
== Javascript List Enhancements ==
Our current lists are always asynchronous and load some time after the page on which they are displayed is loaded. They should be enhanced to be able to be included in the page and viewed statically when as the server deems appropriate. This work would cover both client and server domains and would make use of Javascript, Python, HTML and CSS.
*Relevant Skills:* Javascript, Python, HTML and CSS
*Probable Mentor:* Mario Ferraro (Merio on #melange)
== Functional Tests ==
Functional tests verify the complete and fully integrated functioning of the entire Melange system and are phrased in approachable language stated in terms of user experience. Melange has far too few.
*Relevant Skills:* Python, HTML, Bash
*Probable Mentor:* Chong Liu
== Enhanced Registration Workflow ==
Registering for Melange is too hard and requires too much developer and administrator intervention. This user experience can be greatly smoothed!
*Relevant Skills:* Python, HTML, CSS
*Probable Mentor:* _undecided_
== Messaging System ==
Melange has a need to proxy messages between participants (because Code-in participants are minors who may not be able to reveal their email addresses). Melange should be able to mediate communication between all program participants regardless of constraints about physical location and email availability.
*Relevant Skills:* Python, App Engine
*Probable Mentor:* Daniel Hans
= Orientation =
We would like our prospective students to propose new project ideas and discuss with Melange developers either here (in comments), #melange on freenode.net, or via our mailing list melange-soc-dev@googlegroups.com.
Every student is encouraged to clone our <a href="http://code.google.com/p/soc/source/checkout>git repository</a>, solve <a href="http://code.google.com/p/soc/issues/list">issues</a> and submit patches as part of the application process. <a href="http://code.google.com/p/soc/wiki/GettingStarted">Here</a> is our getting started guide.