Chatie App for Android & Ios & Web
Chatie.io - Make your own ChatBot in no language, in minutes.
Picture Credit: https://blog.ionicframework.com/angular-2-ionic/
- Passwordless Auth
- Serverless Deploy
- Languageless Programing
OS: Ubuntu 17.10
sudo apt install \ adb \ android-platform-tools-base \ android-sdk \ android-sdk-platform-23 \ android-sdk \ android-sdk-platform-tools cd $ANDROID_HOME # download link comes from https://developer.android.com/studio/index.html wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip sudo unzip -n sdk-tools-linux-3859397.zip sudo chmod +x \ tools/bin/sdkmanager \ tools/bin/avdmanager # XXX: make sure the following line is required...? sudo ./tools/bin/sdkmanager "build-tools;27.0.3" # IMPORTANT: Accept all the licenses ./tools/bin/sdkmanager --licenses
./scripts/android.sh
# Ios: https://cocoapods.org/ $ sudo gem install cocoapods
./scripts/ios.sh
ionic cordova platform add browser ionic cordova build browser --prod
- Xcode -> Product ->
- Build
- Archive
By adding ?BROLOG_LEVEL=silly
to URL, you can enable full debug output messages in the console.
For example:
- Angular Package Format v6.0, design document at Google Docs
- How to Build an Angular 5 Material App
- OAuth 2.0
- Silent Authentication
- Doc for Get User Info
- Calling your APIs with Auth0 tokens
- User profile claims and scope
- Tokens used by Auth0
- What is the right setup for Lock + SPA + Native + Rest API?
- Auth0 Ionic2 Quick Start
- Ionic 2 and Auth0(outdated: v0.9)
- Experimenting With Auth0 Passwordless Email Authentication In Angular 2.4.1
- OpenID Standard Claims
- Server + API Architecture Scenario
- Verify Access Tokens
- Auth0 + Scaphold
<<<<<<< HEAD
=======
ec6237233f54b2f152977a6b8964732ce6f054c4
How to use Observable.
- Functional Programming in Javascript
- How to build Angular 2 apps using Observable Data Services - Pitfalls to avoid
- 3 Common Rxjs Pitfalls that you might find while building Angular 2 Applications
- 10 Need-to-Know RxJS Functions with Examples
- Asynchronous Programming at Netflix - @Scale 2014 - Web
- RxJS, the smartest dumbest tool ever
- COLD VS HOT OBSERVABLES
- The Difference Between Throttling and Debouncing
- RxJS: Don’t Unsubscribe
A Progressive Web App(PWA) uses modern web capabilities to deliver an app-like user experience.
- Ionic PWA Doc
- Ionic PWA Blog
- Creating (near) native mobile web app (aka progressive web app) for iOS with Ionic 2
- Zero to GraphQL in 30 Minutes – Steven Luscher
- New features in GraphQL: Batch, defer, stream, live, and subscribe
- GraphQL(with Subscription) Backend As A Service
- Top Specification Formats for REST APIs
- Speed up your RESTful API development in Node.js with Swagger
- Medium.com API Specification
- Writing OpenAPI (Swagger) Specification Tutorial
- Hostie Event Page
- Hostie QR Code Push
- Store Publish
- Other
- Feedback enable Wilddog & Scrollglue
- Gavatar in menu with Matrix CSS
- Promote
Auth
service as a solo npm package auth-angular
- Upgrade to Ionic 3 & Angular 5
- GraphQL DB Integration
- Auth0 Integration
- FastLane.tools Integration
- Ionic DB Integration
- Build with Ionic/Angular 2
- Prototype with Ionic Creator

- Code & Docs © 2017-2018 Huan LI <zixia@zixia.net>
- Code released under the Apache-2.0 License
- Docs released under Creative Commons
title: "Welcome to the Platform!", description: "The Ionic Component Documentation showcases a number of useful components that are included out of the box with Ionic.",
title: "What is platform?", description: "Ionic Framework is an open source SDK that enables developers to build high quality mobile apps with web technologies like HTML, CSS, and JavaScript.",
title: "What isPlatform?", description: "The Ionic Platform is a cloud platform for managing and scaling Ionic apps with integrated services like push notifications, native builds, user auth, and live updating.",
import { Giftie } from '@chatie/giftie'
import { Botie } from '@chatie/botie' const botie = new Botie()
const botie = new Botie('token') try { await botie.init() await botie.test().pipe( tap(progress => { console.log('on progress...', progress) }) ).toPromise() wechaty.addBotie(botie) } catch (e) { if ( e.instanceof(UnitTestingException )) { // botie test fail } else { // other exception } } function addBotie(botie: Botie): Promise<void> { // const eventNameList = botie.eventNameList() // const eventListenerList = botie.eventListenerList() // for (const i in eventNameList) { // this.addListener(eventNameList[i], eventListenerList[i]) // } botie.bind(this) botie.listener.subscribe.pipe( tap( (event, listener) => this.addListener(event, listener), ), ).toPromise() } function removeBotie(botie: Botie) Promise<void> { botie.listener.subscribe.pipe( tap( (event, listener) => this.removeListener(event, listener), ), ).toPromise() } const wechaty = Wechaty.instance() wechaty.setPuppet(new HostiePuppet('token')) wechaty.start()