Version at: 03/02/2015, 22:11

# GSoC 2015 Project ideas

This page lists project ideas for students who would like to take part in [Google Summer of Code 2015](http://www.google-melange.com/gsoc/homepage/google/gsoc2015) and be mentored by [Tatoeba](http://tatoeba.org).

## About Tatoeba

[Tatoeba](http://tatoeba.org) is a platform that aims to build a large **database of sentences** translated into as many languages as possible. The initial idea was to have a tool in which you could search certain words, and it would return example sentences containing these words with their translations in the desired languages. The name Tatoeba resulted from this concept, because **tatoeba** means **for example** in Japanese.

You can browse the [blog](http://blog.tatoeba.org/) or the [wiki](http://en.wiki.tatoeba.org/) for more information about the project.


## Contact

* Google group: [tatoebaproject](https://groups.google.com/forum/#!forum/tatoebaproject)
* IRC: [#tatoeba on freenode](irc://irc.freenode.net/tatoeba), [Webchat](http://webchat.freenode.net?channels=tatoeba)
* XMPP: [Tatoeba conference room on chat.tatoeba.org](xmpp:tatoeba@chat.tatoeba.org?join)

To get a feeling for the discussions taking place within the Tatoeba contributor community, visit the [Tatoeba Wall page](http://tatoeba.org/wall/index).

## How to submit ideas

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

<pre>
### 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.

#### Possible mentors
People from the team that may be able to mentor that idea. You can leave this section blank if you’re a student. Please only add a mentor’s name if you are that person or if the person explicitly agrees.
</pre>



## A note for students

If you are a student and are interested to work on one of the projects listed below, note that at this stage Google has not yet chosen which organizations will participate to GSoC 2015. The list of accepted mentoring organizations will be published on [**March 2**](http://www.google-melange.com/gsoc/events/google/gsoc2015). Until that date, Tatoeba is not officially part of GSoC 2015.

Of course this should not stop you from getting started on a project ahead of time. If you do so, we recommend you the following.

1. Make sure that you have read the [GSoC FAQ](http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/help_page) and that you understand how the program works. Please check the [calendar](http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/help_page) for the various deadlines.
2. If the project you are interested in involves implementing code in the current version of Tatoeba, [install Tatoeba on your machine](https://github.com/Tatoeba/tatoeba2), explore the code, experiment with it.
3. Start preparing your [proposal](http://en.flossmanuals.net/GSoCStudentGuide/ch008_writing-a-proposal/). You won't be implementing anything (at least not anything related to a GSoC project) until you are officially a GSoC student for Tatoeba.



## Ideas

// This section is still in progress.

// TODO: Copy-paste whatever can be reused from [last year's project ideas page](http://en.wiki.tatoeba.org/articles/show/gsoc_ideas).


### Mobile friendly user interface

#### Description
Around 30% of the visitors of Tatoeba are browsing the website from a mobile device, but the usuability of the current website on mobile devices is very poor. The idea of this project is to redesign the UI to improve the user experience for visitors who are using a mobile.
#### Deliverables
Implementation in Tatoeba's source code.
#### Prerequisite knowledge
PHP, HTML, CSS
#### Possible mentors


### Extension of the search feature

#### Description
The search feature is currently available only for sentences and the search criteria are limited to the source/target language and the sentence's text. The goal of this project would be:

  1. To implement more search criteria (tags, username, audio, date...) (See [issue #53](https://github.com/Tatoeba/tatoeba2/issues/53))
  2. To extend the search feature to comments, wall messages, and possibly other contents (private messages, profile...).

Here are some examples of search we would like to be able to do:

* All English sentences by user "CK" with audio that have not been translated into Japanese.
* All Georgian sentences with the tag "restaurant" not translated into Armenian.

#### Deliverables

Implementation in Tatoeba's source code.

#### Prerequisite knowledge

CakePHP, [Sphinx](http://sphinxsearch.com/)

#### Possible mentors

gillux

### Wish list for words and expression

#### Description
Wish list for words and expressions 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 for words and expression](wish_list)

#### Deliverables
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.

#### Prerequisite knowledge

CakePHP

#### Possible mentors

gillux

version at: 05/02/2015, 00:18

# GSoC 2015 Project ideas

This page lists project ideas for students who would like to take part in [Google Summer of Code 2015](http://www.google-melange.com/gsoc/homepage/google/gsoc2015) and be mentored by [Tatoeba](http://tatoeba.org).

## About Tatoeba

[Tatoeba](http://tatoeba.org) is a platform that aims to build a large **database of sentences** translated into as many languages as possible. The initial idea was to have a tool in which you could search certain words, and it would return example sentences containing these words with their translations in the desired languages. The name Tatoeba resulted from this concept, because **tatoeba** means **for example** in Japanese.

You can browse the [blog](http://blog.tatoeba.org/) or the [wiki](http://en.wiki.tatoeba.org/) for more information about the project.


## Contact

* Google group: [tatoebaproject](https://groups.google.com/forum/#!forum/tatoebaproject)
* IRC: [#tatoeba on freenode](irc://irc.freenode.net/tatoeba), [Webchat](http://webchat.freenode.net?channels=tatoeba)
* XMPP: [Tatoeba conference room on chat.tatoeba.org](xmpp:tatoeba@chat.tatoeba.org?join)

To get a feeling for the discussions taking place within the Tatoeba contributor community, visit the [Tatoeba Wall page](http://tatoeba.org/wall/index).

## How to submit ideas

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

<pre>
### 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.

#### Possible mentors
People from the team that may be able to mentor that idea. You can leave this section blank if you’re a student. Please only add a mentor’s name if you are that person or if the person explicitly agrees.
</pre>



## A note for students

If you are a student and are interested to work on one of the projects listed below, note that at this stage Google has not yet chosen which organizations will participate to GSoC 2015. The list of accepted mentoring organizations will be published on [**March 2**](http://www.google-melange.com/gsoc/events/google/gsoc2015). Until that date, Tatoeba is not officially part of GSoC 2015.

Of course this should not stop you from getting started on a project ahead of time. If you do so, we recommend you the following.

1. Make sure that you have read the [GSoC FAQ](http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/help_page) and that you understand how the program works. Please check the [calendar](http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/help_page) for the various deadlines.
2. If the project you are interested in involves implementing code in the current version of Tatoeba, [install Tatoeba on your machine](https://github.com/Tatoeba/tatoeba2), explore the code, experiment with it.
4. Start preparing your [proposal](http://en.flossmanuals.net/GSoCStudentGuide/ch008_writing-a-proposal/). You won't be implementing anything (at least not anything related to a GSoC project) until you are officially a GSoC student for Tatoeba. 
3. If you would like to contribute code to get familiar with the project before GSoC, but don't know how to get started, you can read [this guide](guide-for-new-developers).

## Ideas

// This section is still in progress.

// TODO: Copy-paste whatever can be reused from [last year's project ideas page](http://en.wiki.tatoeba.org/articles/show/gsoc_ideas).


### Mobile friendly user interface

#### Description
Around 30% of the visitors of Tatoeba are browsing the website from a mobile device, but the usuability of the current website on mobile devices is very poor. The idea of this project is to redesign the UI to improve the user experience for visitors who are using a mobile.
#### Deliverables
Implementation in Tatoeba's source code.
#### Prerequisite knowledge
PHP, HTML, CSS
#### Possible mentors


### Extension of the search feature

#### Description
The search feature is currently available only for sentences and the search criteria are limited to the source/target language and the sentence's text. The goal of this project would be:

  1. To implement more search criteria (tags, username, audio, date...) (See [issue #53](https://github.com/Tatoeba/tatoeba2/issues/53))
  2. To extend the search feature to comments, wall messages, and possibly other contents (private messages, profile...).

Here are some examples of search we would like to be able to do:

* All English sentences by user "CK" with audio that have not been translated into Japanese.
* All Georgian sentences with the tag "restaurant" not translated into Armenian.

#### Deliverables

Implementation in Tatoeba's source code.

#### Prerequisite knowledge

CakePHP, [Sphinx](http://sphinxsearch.com/)

#### Possible mentors

gillux

### Wish list for words and expression

#### Description
Wish list for words and expressions 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 for words and expression](wish_list)

#### Deliverables
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.

#### Prerequisite knowledge

CakePHP

#### Possible mentors

gillux

Note

The lines in green are the lines that have been added in the new version. The lines in red are those that have been removed.