Summer of Code/2017

< Summer of Code
Revision as of 12:56, 7 February 2017 by Walter (talk | contribs) (→‎Project Ideas: copy edits for clairifcation)

Project Ideas

Title Mentor Project


Internationalization and Localization Chris Leonard
Brief explanation
A goal of Sugar Labs is to enable our users to experience Sugar in their own native language. See Translation Proposal To Do List for details.
Expected results
Work flow improvements for i18n
Knowledge prerequisites
Some knowledge of Pootle; some scripting experience; Python and JavaScript


New Back-end Server for Turtle Blocks and Music Blocks Walter Bender
Vikram Ahuja
Ignacio Rodriguez
Brief explanation
Last year we sponsored an exploration of using a git-like back end for projects so that they could be cloned, forked, etc. This summer we would like to implement and deploy this new approach.
Expected results
Deployment of "git" back end.
Knowledge prerequisites
Knowledge of Git, JavaScript, server-side skills


Going Beyond Equal Temperament in Music Blocks Walter Bender
Devin Ulibarri
Brief explanation
Most modern music systems are designed around equal temperament. But there are many ways to chose and tune notes in a musical system that offer different expressive characteristics.
Expected results
Extend Music Blocks such that different approaches to temperament are available to the user.
Knowledge prerequisites
Knowledge of JavaScript, music theory


Giving Sugar Labs Website a New Look Ignacio Rodriguez
Samson Goddy
Dave Crossland
Tymon Radzik
Brief explanation
Sugar Labs would like a new look for its homepage, with the goals of making it more attractive and easier to explore (See link to get more information concerning the proposed homepage).
Expected results
Deployment of a new website for Sugar Labs
Knowledge prerequisites
JavaScript, HTML, CSS, Ruby, JQuery, jeckyl, and/or django


Maintenance of activities.sugarlabs.org (ASLO) (volunteers?)
Brief explanation
http://activities.sugarlabs.org/ is the Sugar Labs app store, where activities are hosted and downloaded. Some maintenance tasks are needed. Sugar uses activities.sugarlabs.org in Software Update in My Settings, and has a link to it in the Browse default page.
Expected results
Fix downloads by non-Sugar browsers; old versions are offered. Fix downloads by new versions of Sugar; old versions are offered. Make activity maintainer take-over easier; not easy at the moment. Adopt the new look from the new sugarlabs.org site; theme now is quite old. Show new activity.info metadata such as source repository. Other problems listed in bugs.sugarlabs.org against component activities.sugarlabs.org. Semi-automate common maintenance tasks; like adding a new Sugar version. Document future maintenance on the Wiki.
Knowledge prerequisites
PHP, MySQL, Python, Apache, cron, PHP-Cake, JavaScript, HTML, CSS, and git. See source code.


School Management Backend Walter Bender
Brief explanation
Sugar is a desktop and a collection of apps. It has great internal features for collaboration and journaling. But it doesn't have any mechanism for managing courses/curriculum/administrative functions commonly found in "school management systems". It could be possible to overlay on top of Sugar web-services such a toolkit.
Expected results
a framework, a core implementation, and documentation for expanding the implementation.
Knowledge prerequisites
Python, django
Timbre Widget for Music Blocks Walter Bender
Devin Ulibarri
Brief explanation
Ayush Kumar designed a widget for designing voices for Music Blocks (See [1]). This project would be to implement the design.
Expected results
a working widget for Music Blocks for manipulating Timbre.
Knowledge prerequisites
JavaScript
Sugarizer Server Dashboard Lionel Laské
Michaël Ohayon
Brief explanation
Sugarizer is a way to use Sugar on any device using web technologies (HTML5/JavaScript). Strictly speaking, Sugarizer is not a port of Sugar. Sugarizer is based on Sugar Web library, which mimics the Sugar UI using HTML5 and CSS3 and reproduces Sugar views (Home, List, ...). Sugarizer reimplements features of Sugar Core (datastore and journal) in JavaScript and integrates activities written for Sugar in Sugar Web. The goal of this specific project is to create the "Sugarizer Server Dashboard". This feature will require an enhancement of the existing Sugarizer Server API specifically to integrate a real authentication mechanism.
Expected results
Sugarizer Server Dashboard is a web admin console for Sugarizer Server. The Dashboard will allow to manage and analyze all activity on a Sugarizer Server. Dashboard features will include:
  • Users: how many users has been registered on the server, how many users currently connected, top users on the server, last users connection, create/edit/remove an user.
  • Journal: how many Journals and how many entries in Journal on the server, last Journal and last entries, size of Journals, top Journals, edit a journal (see/update/remove) entries.
  • Application: how many applications are available on the server, change application visibility from Client, update order and way to appear in favorite view.
  • Graphic and request: display graphics and report on previous data.
Knowledge prerequisites
HTML5/JavaScript, bootstrap, node.js, MongoDB
How to start
Clone the Sugarizer repository, then install Sugarizer server using instructions here, finally explore the Sugarizer Server API and think about way to implement dashboard features with existing API.