Pendiente de agregar:
- Info del proyecto
-
Clonar repo
-
De no estar presente, instalar ElasticSearch
-
Instalar dependencias (gemas ruby) via
bundle install
-
Instalar dependencias (módulos node) via
rake protractor:install
. Asegurarse que nodejs se encuentra instalado localmente. Se puede verificar que todo instaló correctamente viarake protractor:example
-
Crear base de datos
$ rake db:create
$ rake db:migrate
-
Correr ambas suites de tests
$ foreman run bin/rspec
$ foreman run rake open_call:e2e
Los tests de integración levantarán un nodo de ElasticSearch en el puerto especificado en la variable de entorno
ES_TEST_PORT
(ver abajo)
El proyecto usa foreman, para administrar los procesos necesarios (web server y elasticsearch).
Foreman puede instalarse via:
$ gem install foreman
Notarán que existen dos Procfiles: ./Procfile
y ./Procfile.local
. El primero es usado por la plataforma de producción, mientras que el segundo de manera local. Para iniciar la app localmente, se puede hacer a través de:
$ bin/start
Por única vez, será necesario dar permisos necesarios a dicho script: chmod 777 bin/start
Una de las opciones con foreman es que nos permite tener un archivo .env
en la raiz, de manera tal poder definir las variables de entorno necesarias para los modos desarrollo y test. A continuación se listan las variables de entorno que el sistema necesitará para una u otra necesidad:
Nombre de variable | Razón de ser |
---|---|
GITHUB_KEY, GITHUB_SECRET | Id de aplicación para github oauth |
GOOGLE_KEY, GOOGLE_SECRET | Id de aplicación para google oauth |
LINKEDIN_KEY, LINKEDIN_SECRET | Id de aplicación para linkedin oauth |
BONSAI_URL | host de la api de elasticsearch, generalmente localhost:9200 |
ES_TEST_HOST, ES_TEST_PORT | host de la api de elasticsearch para tests |
A modo de ejemplo, se puede referenciar el archivo .env_sample
A modo de prueba, se pueden crear datos dummy a traves de:
$ rake open_call:sessions_with_tags:generate[./db/mocks/mock_sessions_with_tags.json]
La creación de los datos automaticamente indexará los índices de ElasticSearch
- Crea tu propio fork
- Crea un branch con tu nueva feature o bugfix (
git checkout -b my-new-branch
) - Agrega tus cambios con sus respectivos tests (
git commit -am 'Add some feature'
) - Pushea el branch (
git push origin my-new-branch
) - Crea un pull request