GSoC 2013

From OpenHatch wiki
Revision as of 18:07, 29 March 2013 by imported>Paulproteus (→‎Modernize the OpenHatch Django codebase)

GSoC 2013

Ideas

Data-driven mentorship app

Right now, when a new contributor shows up to an open source community,

You would work with us on a mentor-mentee tracker that can be used all across the year, not just during a summer of code.

When people show up

If you, as a student, want to work on this, the best first step is to ask Asheesh for screenshots of Ubuntu's similar tool used by the Developer Advisory Team. Then he can talk you through it in more depth.

Training missions, version 2

- Oppia

- port to use django models
- port training missions over to it
- write documentation 

Volunteer opportunity finder, version 2

Volunteer opportunity finder v2

Modernize the OpenHatch Django codebase

Right now, the OpenHatch codebase can be described as a tangled mess of the best Django practices we could pick up in 2009. Do you want to learn about refactoring by trying it with a real codebase?

We do have high test coverage. That will help you dramatically if you want to take on this task! That is, the test coverage is what will keep you sane.

If you're excited about code quality, over the summer, here is kind of thing we'd like to see:

Discussing code style guidelines with us, coming to a consensus, and then documenting them. After we adopt and document them, we can look for tools that would help automatically find violations (like pep8.py or a specially-configured pychecker), and then you would work to keep the codebase working while making a sequence of small changes that fix these issues.

Make a diagram of our circular imports, and then propose a plan to decrease how circular they are. (You can use tools like http://chadaustin.me/2009/05/visualizing-python-import-dependencies/ to visualize the import dependencies.) Then, in small patches, move (or remove) code to simplify the import chain.

In the second half of the summer, we recommend reading through the custom code we have, and consider if a Django reusable app can replace it. I expect that in a large number of the cases, you can find external code to replace most of the OpenHatch app. (-:

Additionally, if you are excited about Django's new class-based views, you could consider porting the OpenHatch views to be class-based.