Skip to content

Vamos Juntas Guia Técnico

Josi Gama edited this page Jul 23, 2017 · 12 revisions

Vamos Juntas

Aplicação mobile do Vamos Juntas

Pré-requisito

O que é a Chave do Google Maps. Acesse o link Chaves API para a API padrão (em inglês) para criar a chave.

Configurações

Quando você tiver sua chave em mãos, a exporte com o seguinte comando:

export API_KEY=<coloque aqui sua chave>

Coloque sua chave gerada no bash profile para que não seja necessário exporta-la toda vez que abrir um novo terminal.

Nós recomendamos que utilize o nvm (Node Version Manager/Gerenciador de versões do Node) se você quiser instalar e gerenciar diferentes versões do Node e relacionar diferentes versões a repositórios específicos. (download).

Depois de instalar o nvm, sugerimos que execute nvm install 7.10.1 para que a versão recomendada do projeto seja instalada.

Certifique que você está usando a versão do node especificada acima. Para garantir que esteja utilizando a versão recomendada execute nvm use 7.10.1.

Execução da aplicação

Execute npm install para instalar todas as dependências do node.

Execute a aplicação com o comando npm run serve. Este comando vai iniciar automaticamente o servidor na porta 8080 e abrirá a aplicação no seu browser de preferência.

Testes

Testes durante o desenvolvimento

Se você quiser executar os testes unitários para que eles rodem a cada atualização do código-fonte, você pode fazê-lo através do seguinte comando:

npm run watch-unit-test

Se você quiser executar os testes funcionais mais rápido, use:

npm run ionic-test

Isso deixará o Ionic rodando no seu terminal. Abra outra aba do terminal e execute:

node ./node_modules/protractor/bin/webdriver-manager update
npm run dev-functional-test

Testes mais extensivos – Para ferramenta de Integração Contínua (CI)

Executar ambos testes unitários e funcionais:

npm run ci

Executar apenas testes funcionais (isso irá também atualizar os webdrivers e compilar o CSS):

npm run functional-test

Executar apenas testes unitários:

npm run unit-test

CSS

Compilar o CSS:

npm run build-css

Executar o CSS de forma que ele se atualize de forma automática:

npm run watch-css

Linter

npm run lint

Como adicionar características específicas entre ambientes?

Nós estamos usando o arquivo templates/appSettings.js junto com gulp-preprocess para passar variáveis para a aplicação Angular dependendo do ambiente.

Se você precisar adicionar novas variáveis à aplicação, siga os seguintes passos:

  1. Adicione uma nova propriedade ao objeto global appSettings

  2. O encapsule dentro de condicionais comentados para ambientes específicos, para que a tarefa de build do gulp possa preprocessar a cópia do arquivo appSettings com os valores corretos de propriedade no diretório fonte do nosso projeto.

// @if NODE_ENV == 'DEVELOPMENT'
mapsAPIBaseUrl: '/maps/api/place'
// @endif
  1. Você pode agora usar esta propriedade no código JavaScript.

Por exemplo:

angular.module('vamosJuntas').constant('PlacesAPI', {
   autoCompleteBaseUrl: AppSettings.mapsAPIBaseUrl + '/autocomplete/json?',
   coordinatesBaseUrl: AppSettings.mapsAPIBaseUrl + '/details/json?',
   nearbySearchBaseUrl: AppSettings.mapsAPIBaseUrl + '/nearbysearch/json?'
});

Problemas de CORS no desenvolvimento:

Se você já utilizou ionic serve ou ionic run com recarregamento automático e acessando endpoints de APIs externas, você provavelmente já passou por algum problema de CORS.

Para mais informações, veja o artigo: http://blog.ionic.io/handling-cors-issues-in-ionic

Contribua

Se quer contribuir com este projeto você pode acessar o board com as histórias no Waffle, seguir os passos acima e começar a contribuir.