<commit_before>== README

This README would normally document whatever steps are necessary to get the
application up and running.

Things you may want to cover:

* Ruby version

* System dependencies

* Configuration

* Database creation

* Database initialization

* How to run the test suite

* Services (job queues, cache servers, search engines, etc.)

* Deployment instructions

* ...


Please feel free to use a different markup language if you do not plan to run
<tt>rake doc:app</tt>.<commit_msg>readme parcial<commit_after># README - Test Yourself
## Contextualització del problema
El principal problema amb que es troben tots els alumnes és la manca de motivació a l'hora d'estudiar qualsevol assignatura.
>Els estudiants reporten que les solucions que existeixen per a resoldre aquest problema fins a dia d'avui no són divertides, no ajuden a combatre la mandra i molt menys el desig de procastinació dels alumnes.

## Solució i valor afegit
Segons els experts, la millor manera per facilitar l'estudi d'un temari per un examen és seguint la mateixa estructura en la que aquest es durà a terme i rebre un feedback ràpid per tal de modelar l'aprenentatge.

En el nostre cas, aquesta aplicació web *responsive* es basa en resoldre examens de tipus test, ja que és la part que hem implementat, però es podria extendre a altres tipus d'examens com podrien ser de resposta oberta (on existiria un col·lectiu que avaluaria la resposta dels alumnes/companys) o bé de caràcter matemàtic o estadístic on es facin servir tècniques diverses per resoldre diferents problemes.

Les preguntes de tipus test que hem implementat per a aquest joc tenen quatre opcions de resposta amb només una de correcta, i poden estar introduides tant pel professor com pels alumnes de l'assignatura.

La web es gestiona a través de l'administrador (perfil pensat per a que sigui el professor), que permet l'accés al test pels estudiants i dóna permisos de moderadors a certs perfils per tal de rebre ajuda a l'hora de controlar les preguntes i les respostes que es reportin degut a algun error o problema.

El nostre projecte preten augmentar la motivació de l'estudi a través de la gamificació utilitzant *rankings*, l'ús de les xarxes socials, *badges*, competicions entre alumnes i un avatar o nivell que s'obté en funció de l'experiència que es guanya conforme es plantejen preguntes i es completen tests.

- *Badges*: aquests logros es divideixen en dues families. La primera serien tots aquells fàcils d'aconseguir per incentivar la motivació i la retenció de l'usuari a la plataforma. La segona, serien tots els que es poden aconseguir gràcies al progrés personal.
- *Rankings*: recompensen a l'usuari tant en la creació de preguntes per tal d'augmentar la base de dades dels tests com amb la correcta execució dels tests. Això fomenta la cooperació i la competitivitat entre els usuaris i l'afany de superació personal.
- Avatar o nivells: recompensen a l'usuari respecte l'ús continuat de l'aplicació i el seu propi procés.
- Xarxes socials: fomenta el sentiment de pertinença d'un grup, la competitivitat entre els usuaris i la cooperació.

Per tal de conèixer el progrés o afavorir la metacognició de l'usuari hi haurà una barra d'evolució on es vegin els resultats obtinguts. Així doncs, també volem complementar l'estudi mitjançant una possible explicació de la resposta de cada pregunta que permetrà aprofundir en l'aprenentatge, i una bateria de preguntes fallades en format test per tal de tornar a examinar-se i aprendre dels errors.

Els nostres valors afegits respecte d'altres plataformes són:

- l'ús colaboratiu entre l'alumnat i el professor de l'assignatura per tal d'introduir les preguntes i la possibilitat de modificar aquestes.
- donem importància a l'usuari premiant-lo en diferents aspectes (*badges*, nivells i *rankings*) i afavorim la seva motivació en la plataforma i en la tasca d'estudi (valorant la seva evolució).
- fomenta el treball cooperatiu al tenir un objectiu compartit amb altres usuaris.

## Implementació durant la CodeathonURV2016
De tota la nostra solució hem pogut implementar:
- asdf

## Perspectiva futura del projecte
En primer lloc, s'hauria de dur a terme tota la implementació de les altres funcionalitats de la web que no s'han pogut acabar durant aquesta jornada, ja que ens hem basat en implementar el més funcional per a tenir un prototip del projecte de cara a la presentació. Això inclouria, per exemple, la integració de les xarxes socials per compartir el progrés de l'usuari i els *badges* aconseguits.

Una de les millores a realitzar podria consistir en integrar la nostra web amb Moodle, per tal que sigui més senzill l'ús i la gestió de l'espai.

Com ja s'ha comentat al punt de la solució el nostre projecte ara està limitat a examens amb preguntes de tipus test, però preten oferir la possibilitat d'altres formats de resposta que s'adequin a les necessitats dels usuaris. Alguns d'aquests tipus serien els examens amb resposta oberta (on podria existir un col·lectiu que avalués la resposta dels alumnes/companys) o bé examens de caràcter matemàtic o estadístic on es facin servir tècniques diverses per resoldre diferents problemes.

Una altra idea seria permetre el mode multijugador on els tests generats tinguéssin un seed per saber quines preguntes han sortit en la generació aleatòria. Aquesta pràctica permetria repetir un mateix conjunt de preguntes i així desafiar un grup d'alumnes.

## Especificacions
#### Ruby version
    2.2.0
#### Rails version
    4.2.5.1

## Instal·lació
#### 1. Clonar el projecte
```sh
$ sudo apt-get install git
$ git clone https://github.com/GaijinBushi/CodeathonURV2016_KELD.git
```
#### 2. Instal·lar Ruby
```sh
$ sudo apt-get install ruby
```
#### 3. Realitzar un bundle install
#### 4. Crear i migrar la base de dades
#### 5. Arrancar el projecte
#### 6. Accedir al navegador
{'fraction_non_alphanumeric': 0.043767029972752045, 'fraction_numerical': 0.003576294277929155, 'mean_word_length': 4.685382381413359, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 6, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4169810', 'n_tokens_mistral': 1922, 'n_tokens_neox': 1946, 'n_words': 893}