Version at: 15/01/2015, 23:56

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


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

 * 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

version at: 15/01/2015, 23:57

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


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

 * 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

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.