Notice

This page show a previous version of the article

GSoC 2015 Project ideas

This page lists project ideas for students who would like to take part in Google Summer of Code 2015 and be mentored by Tatoeba.

About Tatoeba

TODO

Contact

To get a feeling for the discussions taking place within the Tatoeba contributor community, visit the Tatoeba Wall page.

How to submit ideas

If you would like to submit an idea and do not have access to the wiki, please contact us and send us the information below. If you have access to the wiki, simply edit this page and add the information in the Ideas section.

### Project title

#### Description
Brief description of the project. If you have already specified a lot of things about the project, do not write all the details here. Create a separate wiki page for it and only write a summary here, with a link to that wiki page.

#### Deliverables
What is the student expected to deliver at the end of the summer.

#### Prerequisite knowledge
Technical knowledge required to be able to complete the project. If you do not know what are the prerequisite knowledge for the project you are proposing, you can leave this blank, someone else will complete it.

Ideas

TODO: Copy-paste whatever can be reused from last year's project ideas page.

Re-design the the layout of the website, so it also works well on mobile devices.

Description

Convert the existing site to a pre-existing, tested framework such as Bootstrap or something similar, so that the website works well on many devices. The idea would be to use something that has been tested already, so you do not waste time creating new things that need to be tested, and re-tested. Using a well-known framework, would also allow easier updating in the future as that framework is improved.

Deliverables

We would want all the files in the "app" folder (see https://github.com/Tatoeba/tatoeba2) converted so that the framework would work.

Prerequisite knowledge

CakePHP, Bootstrap (or whatever is chosen)

Improvements in the Search Function to Allow Members to Find Sentences They Want to Translate

Description

Make it possible to generate these kinds of pages.

  • Get all sentences in a given language by a given user that have not been translated into a given language. For example: Show me all English sentences by user "CK" not yet translated into Japanese.

  • Same as above, but limited to sentences with audio. For example: Show me all English sentences by "CK" with audio that have not been translated into Japanese.

  • Get all sentences by native speakers of a given language not yet translated into a given language. For example: Show me all Finnish sentences by native speakers not translated into Hungarian.

  • Get all sentences in a given language with a certain tag not translated into a given language. For example: Show me all Georgian sentences with the tag "restaurant" not translated into Armenian.

  • Same as above, but limited to sentences by native speakers not translated into a given language. For example: Show me all Korean sentences by native speakers with the tag "weather" not translated into Japanese.

  • Get all sentences in a given language under a certain length not yet translated into a given language. For example: Show me all Japanese sentences fewer than 50 characters in length not translated into French.

    • Same as above, but limited to native speaker sentences.
    • Same as above, but limited to sentences by a given user.
  • Get all sentences by native speakers of a given language that match a given search keyword that have not been translated into a given language. For example: Show all English sentences with the word "mountain" not translated into Japanese.

    • Same as above, but limited to native speaker sentences.
    • Same as above, but limited to sentences by a given user.

Deliverables

Implementation of some or all of the above. Project might include additional queries. It would be highly desired to provide a generic way of adding new types of queries.

Prerequisite knowledge

PHP, CakePHP. Sphinx

Wish list

Description

Wish list allows users to add words and expressions to a list and other users can fulfill the wishes by adding sentences with these words and expressions.

See more detailed description: Wish list

Deliverables

<p>Implementation of wish list feature than consists of three new views/pages: "Add to wish list", "Browse wish list", and "Wish: xxx in <language> by user <username>". "Add to wish list" is a page where users can submit new wishes and "Browse wish list" is a page where users can browse the wishes the other users have submited. "Wish: xxx in <language> by user <username>" is a page for each individual wish where the orginal submiter of the wish can modify the wish, other users can fulfil the wish, and all the users can discuss about the wish. At the upper part of all of these pages there are two tabs/links: "Add to wish list" and "Browse wish list" for easy access from page to page.</p>

Prerequisite knowledge