Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ingresse/websdk
[OLD] AngularJS Ingresse WebSDK
https://github.com/ingresse/websdk
angular frontend javascript
Last synced: about 1 month ago
JSON representation
[OLD] AngularJS Ingresse WebSDK
- Host: GitHub
- URL: https://github.com/ingresse/websdk
- Owner: ingresse
- Created: 2014-04-29T14:33:43.000Z (over 10 years ago)
- Default Branch: main
- Last Pushed: 2024-11-27T19:41:00.000Z (about 2 months ago)
- Last Synced: 2024-11-27T19:46:47.305Z (about 2 months ago)
- Topics: angular, frontend, javascript
- Language: JavaScript
- Homepage: https://cdn.ingresse.com/websdk/v7/scripts/websdk.js
- Size: 647 KB
- Stars: 3
- Watchers: 28
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Ingresse WebSDK
Para facilitar a vida de desenvolvedores que queiram criar web-apps integrados aos serviços da ingresse, nós criamos o ingresse-websdk.
Nosso SDK é um módulo do [Angular](https://angularjs.org/), basta adicionar o script no header do seu html principal e pronto!
## Instalando
Adicione no header do seu site:
```
```## Utilização
Antes de mais nada adicione a dependência no seu módulo
```
angular.module('SEU_APP', ['ingresseSDK']);
```Todo APP integrado com a ingresse precisa de sua chave privada e pública para fazer chamadas a api, para configurar fica assim:
```
angular.module('SEU_APP')
.config(function (ingresseApiPreferencesProvider) {
ingresseApiPreferencesProvider.setPublicKey('sua chave pública');
ingresseApiPreferencesProvider.setPrivateKey('sua chave privada');
});
```Ai é só injetar nas suas controllers
```
angular.module('SEU_APP')
.controller('SuaController', ['ingresseAPI', function (ingresseAPI) {
... seu código ...
}]);
```## Módulos
### ingresseAPI
Este módulo é responsável por facilitar a comunicação com nossa API.
Exemplo:
```
ingresseAPI.event.get(eventID, filters)
.then(function (event) {
// Do something...
})
.catch(function (error) {
// Something got wrong...
});
```### ingresseApiPreferences
```
ingresseApiPreferences.setHost(host); // Define o host que será usado para comunicação (api.ingresse.com | apistg.ingresse.com | apihml.ingresse.com);
ingresseApiPreferences.getHost(); // retorna o host que esta sendo usado no momento.
ingresseApiPreferences.httpCalls // Array com o histórico de chamadas http.
ingresseApiPreferences.clearHttpHistory() //Limpra o histórico de chamadas http.
```# Desenvolvimento
## Dependências
Primeiro é preciso instalar as dependências para o funcionamento correto da aplicação:
``` bash
npm run deps && npm run postinstall
```## Desenvolvendo
A WebSDK não é uma aplicação executável, portanto para testar as implementações feitas nela é necessário gerar o build final para executar as modificações em ambiente de desenvolvimento.
Para isso é preciso seguir os seguintes passos:
- Executar o build local da aplicação utilizando o comando: ```npm run build```;
- Finalizado o processo de build copiar o arquivo ```websdk.js``` dentro do diretório ```.tmp``` localizado em: ```./websdk/.tmp/concat/scripts/websdk.js```;
- Criar um diretório ```websdk``` na raíz do ```app``` do seu projeto;
- Inserir o arquivo ```webdesk.js``` copiado, neste diretório;
- Fazer o mesmo para o arquivo de CSS dentro do diretório ```/websdk/dist/v7/styles/main.css```. Copiar e colar no diretório ```websdk``` criado na aplicação a ser executada com a websdk;
- Agora é preciso localizar e mudar o apontamento da index da aplicação para acessar os arquivos dentro da pasta criada (```websdk```), ao invés dos arquivos de produção (localizados no S3).Script:
``` html
```
Link:
``` html```
## Buid dev/prod
### PROD
Para gerar um build para produção utilize o comando:
```
$ npm run build
```Se quiser servir este build localmente execute o comando:
```
$ sudo grunt serve:dist
```### HOMOLOGAÇÃO
Para gerar o build com os scripts voltados para desenvolvimento, ex: sandbox do pagSeguro, utilize o comando:
```
$ sudo grunt buil:dev
```Se quiser servir este build localmente execute o comando:
```
$ sudo grunt serve:dist
```## Testes
Para rodar os testes localmente execute o comando:
```
$ npm test
```## Deploy em HML ou PROD
- Rodar build do WebSDK no PC local, vai gerar uma pasta dist
- Painel Web da AWS, S3, procurar pelo bucket cdn.ingresse.com
- Nele, há uma subpasta “websdk”
- Fazer upload de todos os arquivos que estão dentro da pasta dist local, pra essa subpasta no S3
- Finalizado o upload, ainda no Painel da AWS S3, selecionar todos os arquivos e utilizar o menu de arquivos para “Tornar Público” todos esses arquivos
- Por fim, ir até o Painel AWS CloudFront, procurar pelo cdn.ingresse.com e invalidar o
cache