Name Serhat Rıfat Demircan
Contact/Email: jabber: sdemircan@jabber.org, irc: srdemircan, email demircan.serhat@gmail.com
Background: I am computer engineering undergraduate student at Çanakkale 18 Mart University in Turkey and this my third year. I have 2 years of Python experience and more than 1 year of Django experience. I've been using Linux distros since for 4 years(Debian, Ubuntu, Pardus, ?OpenSuse). I also gave a python course in Turkey. I have developed web applications with django and now working on a web application(with django and we will public soon).
- Me and my friend made patch for webmin to use on Pardus Linux. Also we did pardus package of webmin and its dependencies[0].
- Last summer made an web application with django which follow sources of pisi packages from some rss feeds. It compares source and package version and publish old packages on rss feed[1].
Project title Improving Debian Team Activity Metrics
Synopsis: Implementing web interface and api for Debian Team Activity Metrics with Python and Django.
Project details: http://wiki.debian.org/SummerOfCode2012/StudentApplications#Improving_Debian_Team_Activity_Metrics.
- I am planing to do this project in 2 iteration:
1. Iteration: In this step i will create api to get existing data. Api will serve existing data as xml/json and chart's self(gif, png, ...) which is corresponding to given parameters. For every projects metrics will be catogorized(For example git repository activity, mailing list activity). Than this informations will be reachable by month, year or range(For example 2012 - February git repository activity,)
I am planing create charts with reportlab or matplotlib on serverside. And planing to build api with django-piston. Charts may create with javascript. This reduce work on server and give more options to user to display chart(For example ınteractive charts). According to requirements one of these libraries or javascript solutions or both may use. I have tried this libraries. Both of them can integrate with django easly and look promising to do this.
2. Iteration: After created api, next step is making simple and good looking web interface for the existing data which is serving by api. I will use api for show metrics.
The database is updating every month with cronjob. So caching data will improve perfomance. Because creating charts for every request will take longer. Todo this plaining to use django's caching framework or other approachs.
Benefits to Debian: At the end of this project debian team activity metrics will be reachable by api in various formats(xml/json/image) and project will have web interface which is meet the requirements to present this metrics. So anyone who wants to use this metrics will access easyly.
Deliverables: This project will met all requirements to present metrics.
Project schedule:
- I explained iterations in project details.
1. Step [23 April - 31 May]: This step includes planing and designing. So all requirements will be determineted.
2. Step [1 June - 31 June]: In this step 1. iteration will be finished at end of June. I think the important part of this project this api. Well designed api makes building web interface easy.
[1-13 June]: Build api with django-piston and serve metrics as json, xml.
[13-25 June]: Serve created charts as image(with matplotlib).
[25-30 June]: Testing, discussion and improvement.
3. Step [1 July - 31 July]: In this step 2. iteration will be finished at end of July.
[1 July - 12 July]: Build web interface which using created charts by api.
[12 July - 24 July]: Add javascript option display charts.
[24 July - 1 August]: Testing, discussion and improvement.
4. Step [1 August - ]In August, planing test the application. So if there any bugs they will be fixed and if necessary addiotional features may be added to application. Also api need documentation for other people who want to use it. So until pencils down state it will be created.
Exams and other commitments: I have final exams from May 21 to June 1. Avoid the losing time on project if possible i can start coding earlier.
Other summer plans: I have no other plans. I would work a on this project.
Why Debian?: I have been using debian for a while. Debian is one of biggest free software project and contributing it with this project good opportunity for me.
- I will apply to other projects.(haven't applied yet)
[1]http://svn.turkuazlinux.org/svn/projects/playground/serhatdemircan/Hedwig