From Fedora Project Wiki

< GSOC 2014

Revision as of 20:18, 19 March 2014 by Lool0 (talk | contribs) (Created page with " * Your name: lool0 * FAS Account: lool0 * Fedora userpage: [https://fedoraproject.org/wiki/User:Lool0] '''Contact Information''' see melange for more information ===Why do y...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

  • Your name: lool0
  • FAS Account: lool0
  • Fedora userpage: [1]

Contact Information see melange for more information

Why do you want to work with the Fedora Project?

I've used fedora for a while mainly in chroots and I'd like to give back to this project.

Do you have any past involvement with the Fedora project or any other open source project as a contributor?

I've been mainly involved with the tatoeba project for the past 3 yrs. I've contributed to it mainly through adding sentences, offering help with maintaining the server and code repository, and some coding projects including a japanese romanization server (https://github.com/loolmeh]

Did you participate with the past GSoC programs, if so which years, which organizations?

No.

Will you continue contributing/ supporting the Fedora project after the GSoC 2014 program, if yes, which team(s), you are interested with?

Hopefully I'll continue working on and improving the Fedora College project long after gsoc is over, mainly because its goals overlaps with other projects I'm passionate about.

Why should we choose you over other applicants?

I'm decently familiar with python and django and thought about making my own learning management system for quite sometime. Fedora College seems to have goals that overlap with what an LMS would be about.

Project Details

Synopsis

The idea is to have a central portal that makes it easy enough to add screencasts and educational tutorials, categorize and tag them, as well as have modern xmpp capabilities that would allow video and text conferencing between contributors.

Design

I plan on using Django as a backend, Tastypie as an api framework, Angular-UI for the interface, Prosody as the XMPP backend, and possibly candy or converse.js as the client part for the XMPP features. The project will consist of the following modules:

  • library module: This part handles storing references to the videos/text tutorials, comments on them, and ways to access them using tags/grouping, and a recommendation system that suggests other videos/tutorials.
  • ui module: This should contain the templates so customizing the website using some other design would be easy.
  • api module: This contains all tastypie related code and gives access to all relevant models.
  • registration module: This will probably depend on userena and social-auth modules and act as glue code and a customized interface to both apps. It will provide a messaging system, authentication, profiles, and social authentication to the website.
  • xmpp module: this will tightly integrate the js client part of the XMPP features and have custom code to interact with Prosody through ad-hoc commands to create MUCs for necessary pages and jids automatically on the server for registered users.

Schedule

  • week 1-2: implement the database schema and api part.
  • week 3-4: implement the library views to add and view videos, as well as the registration module.
  • week 5-6: implement and setup the XMPP part.
  • week 7-12: implement the angularjs ui module that communicates with the api and port it to phonegap and tidesdk. Also build it for as many platforms as possible if time permits.