Skip to content

frontend-app/app

 
 

Repository files navigation

CHATIE APP

Chatie App for Android & Ios & Web

Chatie.io - Make your own ChatBot in no language, in minutes.

Powered by Ionic & Angular

Picture Credit: https://blog.ionicframework.com/angular-2-ionic/

FEATURES

  • Passwordless Auth
  • Serverless Deploy
  • Languageless Programing

DEVELOPMENT

Linux

OS: Ubuntu 17.10

Install Android SDK

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 

Build Android APK

./scripts/android.sh

Mac

Install ...

# Ios: https://cocoapods.org/ $ sudo gem install cocoapods

Build iOS IPA

./scripts/ios.sh

Browser

Build

ionic cordova platform add browser ionic cordova build browser --prod

APP PUBLISHING

Google Play

Apple Store

  1. Xcode -> Product ->
    1. Build
    2. Archive

Web

Develop

Debug Switch

By adding ?BROLOG_LEVEL=silly to URL, you can enable full debug output messages in the console.

For example:

Learning Resources

Copy Cat Clone

Angular

Material

Auth0

<<<<<<< HEAD

RxJS

=======

Rxjs

ec6237233f54b2f152977a6b8964732ce6f054c4

How to use Observable.

Build from Scratch

Others

Machine Learning

Progressive Web Apps

A Progressive Web App(PWA) uses modern web capabilities to deliver an app-like user experience.

Database

1. GraphQL

2. PouchDB

Testing

Open API Specification

Push

TODO

  1. Use Lighthouse to improve quality
    1. GitHub: https://github.com/ebidel/lighthouse-ci
    2. Try: https://lighthouse-ci.appspot.com/try
  • Hostie Event Page
  • Hostie QR Code Push
  • Store Publish
  • Other
    • Feedback enable Wilddog & Scrollglue
    • Gavatar in menu with Matrix CSS

SEE ALSO

CHANGELOG

v0.3 (master) Apr, 2018

  1. Promote Auth service as a solo npm package auth-angular

v0.2 Feb, 2018

  1. Upgrade to Ionic 3 & Angular 5
  2. GraphQL DB Integration

v0.1 Apri, 2017

  1. Auth0 Integration
  2. FastLane.tools Integration
  3. Ionic DB Integration

v0.0 Dec 16, 2016

  1. Build with Ionic/Angular 2
  2. Prototype with Ionic Creator

AUTHOR

Huan LI <zixia@zixia.net>

profile for zixia on Stack Exchange, a network of free, community-driven Q&A sites

COPYRIGHT & LICENSE

  • Code & Docs © 2017-2018 Huan LI <zixia@zixia.net>
  • Code released under the Apache-2.0 License
  • Docs released under Creative Commons

MEMO

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.",

ALPHA DESIGN

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()

About

ChatBot Pocket Manager for Android & Ios, Powred by Ionic & Angular

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 65.7%
  • HTML 24.6%
  • Shell 5.0%
  • CSS 3.8%
  • JavaScript 0.9%