Version at: 31/01/2015, 10:06 vs. version at: 03/02/2015, 13:00
11# GSoC 2015 Project ideas
22
33This 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).
44
55## About Tatoeba
66
7TODO
7[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.
8
9You can browse the [blog](http://blog.tatoeba.org/) or the [wiki](http://en.wiki.tatoeba.org/) for more information about the project.
10
811
912## Contact
1013
11* Email/Google groups: [Tatoeba's dev mailing list](https://groups.google.com/forum/#!forum/tatoebaproject)
12* IRC: [Tatoeba on #Freenode](irc://irc.freenode.net/tatoeba), [Webchat](http://webchat.freenode.net?channels=tatoeba)
14* Google group: [tatoebaproject](https://groups.google.com/forum/#!forum/tatoebaproject)
15* IRC: [#tatoeba on freenode](irc://irc.freenode.net/tatoeba), [Webchat](http://webchat.freenode.net?channels=tatoeba)
1316* XMPP: [Tatoeba conference room on chat.tatoeba.org](xmpp:tatoeba@chat.tatoeba.org?join)
1417
1518To get a feeling for the discussions taking place within the Tatoeba contributor community, visit the [Tatoeba Wall page](http://tatoeba.org/wall/index).
1619
1720## How to submit ideas
1821
1922If 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.
2023If you have access to the wiki, simply edit this page and add the information in the [Ideas](#ideas) section.
2124
2225<pre>
2326### Project title
2427
2528#### Description
2629Brief 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.
2730
2831#### Deliverables
2932What is the student expected to deliver at the end of the summer.
3033
3134#### Prerequisite knowledge
3235Technical 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.
3336</pre>
3437
38
39
40## A note for students
41
42If 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.
43
44Of course this should not stop you from getting started on a project ahead of time. If you do so, we recommend you the following.
45
461. 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.
472. 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.
483. Start preparing your [proposal](http://en.flossmanuals.net/GSoCStudentGuide/ch008_writing-a-proposal/). You won't be implementing anything until you are officially a GSoC student for Tatoeba. Please check the [calendar](http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/help_page) for the various deadlines.
49
50
51
3552## Ideas
3653
37TODO: Copy-paste whatever can be reused from [last year's project ideas page](http://en.wiki.tatoeba.org/articles/show/gsoc_ideas).
54// This section is still in progress.
55// TODO: Copy-paste whatever can be reused from [last year's project ideas page](http://en.wiki.tatoeba.org/articles/show/gsoc_ideas).
3856
3957
4058### Mobile friendly user interface
4159
4260#### Description
4361Around 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.
4462#### Deliverables
4563Implementation in Tatoeba's source code.
4664#### Prerequisite knowledge
4765
4866PHP, HTML, CSS
4967
5068### Extension of the search feature
5169
5270#### Description
5371The 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:
5472
5573 1. To implement more search criteria (tags, username, audio, date...)
5674 2. To extend the search feature to comments, wall messages, and possibly other contents (private messages, profile...).
5775
5876Here are some examples of search we would like to be able to do:
5977
6078* All English sentences by user "CK" with audio that have not been translated into Japanese.
6179* All Georgian sentences with the tag "restaurant" not translated into Armenian.
6280
6381#### Deliverables
6482
6583Implementation in Tatoeba's source code.
6684
6785#### Prerequisite knowledge
6886
6987CakePHP, [Sphinx](http://sphinxsearch.com/)
7088
7189
7290### Wish list for words and expression
7391
7492#### Description
7593Wish 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.
7694
7795See more detailed description: [Wish list for words and expression](wish_list)
7896
7997#### Deliverables
8098Implementation 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.
8199
82100#### Prerequisite knowledge
83101
84102CakePHP
103
diff view generated by jsdifflib

Version at: 31/01/2015, 10:06

# 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

TODO

## Contact

* Email/Google groups: [Tatoeba's dev mailing list](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.
</pre>

## Ideas

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

### 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...)
  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/)


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

version at: 03/02/2015, 13:00

# 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.
</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.
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 until you are officially a GSoC student for Tatoeba. Please check the [calendar](http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/help_page) for the various deadlines.



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

### 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...)
  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/)


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

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.