Talk Halk Ionic app
- Ionic 3 (Framework de integração entre o Apache Cordova ao Angular 5)
- Angular 5 (Framework multiplataforma baseado em Typescript)
- Google Cloud Firestore (Banco de dados no-sql serveless baseado em nuvem)
- Google Cloud Functions (Ambiente serveless de processamento de funções de back-end fornecido pelo Google Firebase)
- Text To Speech (Sintetiza voz a partir de informação textual)
- Speech Recognition (Utiliza o reconhecimento de voz em aparelhos suportados)
- Social Sharing (Compartilha conteúdo que pode ser customizado para as redes sociais e meios de compartilhamento presentes no aparelho do usuário)
- macOS High Sierra 10.13.6 Usado para construir em ambiente unix e garantir o build da aplicação nos demais ambientes.
- Windows 10 Pro 1803 Ambiente de construção do aplicativo
- Visual Studio Code Insiders IDE utilizado em ambos os ambientes mencionados
- Github Repositório do código-fonte
- PostMan Teste dos endpoints da API rest consumida pelo aplicativo
Requerimentos:
Desconsidere, em todas as menções à instruções em linha de comando a seguir, o comando sudo caso esteja esteja usando Windows
Node.js (https://nodejs.org/download/)
Caso você não possua a ultima versão do npm:
$ sudo npm install npm -g
Você pode instalar ambos o comando a seguir:
$ sudo npm install cordova ionic -g
Basta executar este comando em seu diretório de trabalho:
*É necessário ter o git previamente instalado (https://git-scm.com/downloads)
$ git clone https://github.com/rmacedo88/Talk-Hawk.git
Após navegar para o diretório raiz do projeto clonado ~/Talk-Hawk/, execute o comando a seguir:
$ npm install
Ainda no diretório raiz do projeto clonado, execute os comandos"
Android
$ ionic cordova platform add android
$ ionic cordova run android
Após instaladas as dependências, basta executar o comando:
$ ionic serve
Porquê escolhemos o Firebase frente a serviços como o AWS API Gateway (Amazon) : Serviços embutidos na plataforma como:
- Autenticação
- Banco de dados em tempo real (realtime database)
- Reporte de erros (Crash Reports)
- Etc...
São necessários os seguintes passos:
- Criar uma API REST por meio de funções localmente em Node.js ou javascript (estamos usando Node.js)
- Publicar as funções no Firebase
- Acessar por meio de algum cliente REST
$ sudo npm install -g firebase-tools
É necessário criar uma conta na plataforma em (https://firebase.google.com/)
Ainda dentro do diretório raiz do projeto, executar o comando:
$ firebase login
Uma janela do browser padrão do seu sistema se abrirá e vc vai fazer login com a conta Google usada para criar a conta no Google Cloud Firebase. Após o login, vc recebe um feedback tanto no browser quanto no terminal.
Basta digitar o seguinte comando no terminal:
$ firebase init functions
O Firebase vai solicitar algumas configurações:
Inicialização do diretório com a estrutura padrão do Cloud Functions
- Marque Y para continuar
Escolha do projeto padrão (caso não tenha nenhum, marque a opção create a new project). Você pode configurar múltiplos em uma mesma conta.
- Marque o projeto Talk Hawk dev
Em seguida, será solicitada a linguagem de programação a ser usada nas funções.
- Escolha TypeScript
Marque N para as opções subsequentes
Após concluída a configuração básica, navegue até o diretório Talk-Hawk/functions/ e digite o comando:
$ npm install
Sempre que for necessário fazer um deploy, deve-se estar dentro do diretório Talk-Hawk/functions/
Execute o comando:
$ firebase deploy --only functions
Para testar localmente no Google Chrome, recomendamos instalar a extensão/plugin Allow-Control-Allow-Origin para evitar problemas com CORS