Browse Source

initial commit using ionic framework for app development

Carsten Porth 5 years ago
parent
commit
bb87d6abe0
74 changed files with 514 additions and 63 deletions
  1. 17 0
      app/.editorconfig
  2. 33 63
      app/.gitignore
  3. 84 0
      app/config.xml
  4. 8 0
      app/ionic.config.json
  5. 39 0
      app/package.json
  6. 8 0
      app/resources/README.md
  7. BIN
      app/resources/android/icon/drawable-hdpi-icon.png
  8. BIN
      app/resources/android/icon/drawable-ldpi-icon.png
  9. BIN
      app/resources/android/icon/drawable-mdpi-icon.png
  10. BIN
      app/resources/android/icon/drawable-xhdpi-icon.png
  11. BIN
      app/resources/android/icon/drawable-xxhdpi-icon.png
  12. BIN
      app/resources/android/icon/drawable-xxxhdpi-icon.png
  13. BIN
      app/resources/android/splash/drawable-land-hdpi-screen.png
  14. BIN
      app/resources/android/splash/drawable-land-ldpi-screen.png
  15. BIN
      app/resources/android/splash/drawable-land-mdpi-screen.png
  16. BIN
      app/resources/android/splash/drawable-land-xhdpi-screen.png
  17. BIN
      app/resources/android/splash/drawable-land-xxhdpi-screen.png
  18. BIN
      app/resources/android/splash/drawable-land-xxxhdpi-screen.png
  19. BIN
      app/resources/android/splash/drawable-port-hdpi-screen.png
  20. BIN
      app/resources/android/splash/drawable-port-ldpi-screen.png
  21. BIN
      app/resources/android/splash/drawable-port-mdpi-screen.png
  22. BIN
      app/resources/android/splash/drawable-port-xhdpi-screen.png
  23. BIN
      app/resources/android/splash/drawable-port-xxhdpi-screen.png
  24. BIN
      app/resources/android/splash/drawable-port-xxxhdpi-screen.png
  25. BIN
      app/resources/icon.png
  26. BIN
      app/resources/ios/icon/icon-1024.png
  27. BIN
      app/resources/ios/icon/icon-40.png
  28. BIN
      app/resources/ios/icon/icon-40@2x.png
  29. BIN
      app/resources/ios/icon/icon-40@3x.png
  30. BIN
      app/resources/ios/icon/icon-50.png
  31. BIN
      app/resources/ios/icon/icon-50@2x.png
  32. BIN
      app/resources/ios/icon/icon-60.png
  33. BIN
      app/resources/ios/icon/icon-60@2x.png
  34. BIN
      app/resources/ios/icon/icon-60@3x.png
  35. BIN
      app/resources/ios/icon/icon-72.png
  36. BIN
      app/resources/ios/icon/icon-72@2x.png
  37. BIN
      app/resources/ios/icon/icon-76.png
  38. BIN
      app/resources/ios/icon/icon-76@2x.png
  39. BIN
      app/resources/ios/icon/icon-83.5@2x.png
  40. BIN
      app/resources/ios/icon/icon-small.png
  41. BIN
      app/resources/ios/icon/icon-small@2x.png
  42. BIN
      app/resources/ios/icon/icon-small@3x.png
  43. BIN
      app/resources/ios/icon/icon.png
  44. BIN
      app/resources/ios/icon/icon@2x.png
  45. BIN
      app/resources/ios/splash/Default-568h@2x~iphone.png
  46. BIN
      app/resources/ios/splash/Default-667h.png
  47. BIN
      app/resources/ios/splash/Default-736h.png
  48. BIN
      app/resources/ios/splash/Default-Landscape-736h.png
  49. BIN
      app/resources/ios/splash/Default-Landscape@2x~ipad.png
  50. BIN
      app/resources/ios/splash/Default-Landscape@~ipadpro.png
  51. BIN
      app/resources/ios/splash/Default-Landscape~ipad.png
  52. BIN
      app/resources/ios/splash/Default-Portrait@2x~ipad.png
  53. BIN
      app/resources/ios/splash/Default-Portrait@~ipadpro.png
  54. BIN
      app/resources/ios/splash/Default-Portrait~ipad.png
  55. BIN
      app/resources/ios/splash/Default@2x~iphone.png
  56. BIN
      app/resources/ios/splash/Default@2x~universal~anyany.png
  57. BIN
      app/resources/ios/splash/Default~iphone.png
  58. BIN
      app/resources/splash.png
  59. 22 0
      app/src/app/app.component.ts
  60. 1 0
      app/src/app/app.html
  61. 30 0
      app/src/app/app.module.ts
  62. 16 0
      app/src/app/app.scss
  63. 5 0
      app/src/app/main.ts
  64. BIN
      app/src/assets/icon/favicon.ico
  65. BIN
      app/src/assets/imgs/logo.png
  66. 49 0
      app/src/index.html
  67. 13 0
      app/src/manifest.json
  68. 14 0
      app/src/pages/home/home.html
  69. 3 0
      app/src/pages/home/home.scss
  70. 14 0
      app/src/pages/home/home.ts
  71. 31 0
      app/src/service-worker.js
  72. 88 0
      app/src/theme/variables.scss
  73. 28 0
      app/tsconfig.json
  74. 11 0
      app/tslint.json

+ 17 - 0
app/.editorconfig

@@ -0,0 +1,17 @@
+# EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs
+# editorconfig.org
+
+root = true
+
+[*]
+indent_style = space
+indent_size = 2
+
+# We recommend you to keep these unchanged
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.md]
+trim_trailing_whitespace = false

+ 33 - 63
app/.gitignore

@@ -1,65 +1,35 @@
-# Built application files
-*.apk
-*.ap_
+# Specifies intentionally untracked files to ignore when using Git
+# http://git-scm.com/docs/gitignore
 
-# Files for the ART/Dalvik VM
-*.dex
-
-# Java class files
-*.class
-
-# Generated files
-bin/
-gen/
-out/
-
-# Gradle files
-.gradle/
-build/
-
-# Local configuration file (sdk path, etc)
-local.properties
-
-# Proguard folder generated by Eclipse
-proguard/
-
-# Log Files
+*~
+*.sw[mnpcod]
 *.log
-
-# Android Studio Navigation editor temp files
-.navigation/
-
-# Android Studio captures folder
-captures/
-
-# IntelliJ
-*.iml
-.idea/workspace.xml
-.idea/tasks.xml
-.idea/gradle.xml
-.idea/assetWizardSettings.xml
-.idea/dictionaries
-.idea/libraries
-.idea/caches
-
-# Keystore files
-# Uncomment the following line if you do not want to check your keystore files in.
-#*.jks
-
-# External native build folder generated in Android Studio 2.2 and later
-.externalNativeBuild
-
-# Google Services (e.g. APIs or Firebase)
-google-services.json
-
-# Freeline
-freeline.py
-freeline/
-freeline_project_description.json
-
-# fastlane
-fastlane/report.xml
-fastlane/Preview.html
-fastlane/screenshots
-fastlane/test_output
-fastlane/readme.md
+*.tmp
+*.tmp.*
+log.txt
+*.sublime-project
+*.sublime-workspace
+.vscode/
+npm-debug.log*
+
+.idea/
+.sourcemaps/
+.sass-cache/
+.tmp/
+.versions/
+coverage/
+dist/
+node_modules/
+tmp/
+temp/
+hooks/
+platforms/
+plugins/
+plugins/android.json
+plugins/ios.json
+www/
+$RECYCLE.BIN/
+
+.DS_Store
+Thumbs.db
+UserInterfaceState.xcuserstate

+ 84 - 0
app/config.xml

@@ -0,0 +1,84 @@
+<?xml version='1.0' encoding='utf-8'?>
+<widget id="io.ionic.starter" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
+    <name>app</name>
+    <description>An awesome Ionic/Cordova app.</description>
+    <author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
+    <content src="index.html" />
+    <access origin="*" />
+    <allow-intent href="http://*/*" />
+    <allow-intent href="https://*/*" />
+    <allow-intent href="tel:*" />
+    <allow-intent href="sms:*" />
+    <allow-intent href="mailto:*" />
+    <allow-intent href="geo:*" />
+    <preference name="ScrollEnabled" value="false" />
+    <preference name="android-minSdkVersion" value="19" />
+    <preference name="BackupWebStorage" value="none" />
+    <preference name="SplashMaintainAspectRatio" value="true" />
+    <preference name="FadeSplashScreenDuration" value="300" />
+    <preference name="SplashShowOnlyFirstTime" value="false" />
+    <preference name="SplashScreen" value="screen" />
+    <preference name="SplashScreenDelay" value="3000" />
+    <platform name="android">
+        <allow-intent href="market:*" />
+        <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
+        <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
+        <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
+        <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
+        <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
+        <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
+        <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
+        <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
+        <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
+        <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
+        <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
+        <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
+        <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
+        <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
+        <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
+        <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
+        <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
+        <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
+    </platform>
+    <platform name="ios">
+        <allow-intent href="itms:*" />
+        <allow-intent href="itms-apps:*" />
+        <icon height="57" src="resources/ios/icon/icon.png" width="57" />
+        <icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
+        <icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
+        <icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
+        <icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
+        <icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
+        <icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
+        <icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
+        <icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
+        <icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
+        <icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
+        <icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
+        <icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
+        <icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
+        <icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" />
+        <icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
+        <icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" />
+        <icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
+        <icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
+        <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
+        <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
+        <splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
+        <splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
+        <splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
+        <splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
+        <splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
+        <splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
+        <splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
+        <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
+        <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
+        <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
+        <splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
+    </platform>
+    <plugin name="cordova-plugin-whitelist" spec="1.3.3" />
+    <plugin name="cordova-plugin-device" spec="2.0.2" />
+    <plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
+    <plugin name="cordova-plugin-ionic-webview" spec="1.1.19" />
+    <plugin name="cordova-plugin-ionic-keyboard" spec="2.0.5" />
+</widget>

+ 8 - 0
app/ionic.config.json

@@ -0,0 +1,8 @@
+{
+  "name": "Hybric OSN",
+  "app_id": "",
+  "type": "ionic-angular",
+  "integrations": {
+    "cordova": {}
+  }
+}

+ 39 - 0
app/package.json

@@ -0,0 +1,39 @@
+{
+  "name": "app",
+  "version": "0.0.1",
+  "author": "Ionic Framework",
+  "homepage": "http://ionicframework.com/",
+  "private": true,
+  "scripts": {
+    "clean": "ionic-app-scripts clean",
+    "build": "ionic-app-scripts build",
+    "lint": "ionic-app-scripts lint",
+    "ionic:build": "ionic-app-scripts build",
+    "ionic:serve": "ionic-app-scripts serve"
+  },
+  "dependencies": {
+    "@angular/animations": "5.2.11",
+    "@angular/common": "5.2.11",
+    "@angular/compiler": "5.2.11",
+    "@angular/compiler-cli": "5.2.11",
+    "@angular/core": "5.2.11",
+    "@angular/forms": "5.2.11",
+    "@angular/http": "5.2.11",
+    "@angular/platform-browser": "5.2.11",
+    "@angular/platform-browser-dynamic": "5.2.11",
+    "@ionic-native/core": "4.8.0",
+    "@ionic-native/splash-screen": "4.8.0",
+    "@ionic-native/status-bar": "4.8.0",
+    "@ionic/storage": "2.1.3",
+    "ionic-angular": "3.9.2",
+    "ionicons": "3.0.0",
+    "rxjs": "5.5.11",
+    "sw-toolbox": "3.6.0",
+    "zone.js": "0.8.26"
+  },
+  "devDependencies": {
+    "@ionic/app-scripts": "3.1.10",
+    "typescript": "~2.6.2"
+  },
+  "description": "An Ionic project"
+}

+ 8 - 0
app/resources/README.md

@@ -0,0 +1,8 @@
+These are Cordova resources. You can replace icon.png and splash.png and run
+`ionic cordova resources` to generate custom icons and splash screens for your
+app. See `ionic cordova resources --help` for details.
+
+Cordova reference documentation:
+
+- Icons: https://cordova.apache.org/docs/en/latest/config_ref/images.html
+- Splash Screens: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-splashscreen/

BIN
app/resources/android/icon/drawable-hdpi-icon.png


BIN
app/resources/android/icon/drawable-ldpi-icon.png


BIN
app/resources/android/icon/drawable-mdpi-icon.png


BIN
app/resources/android/icon/drawable-xhdpi-icon.png


BIN
app/resources/android/icon/drawable-xxhdpi-icon.png


BIN
app/resources/android/icon/drawable-xxxhdpi-icon.png


BIN
app/resources/android/splash/drawable-land-hdpi-screen.png


BIN
app/resources/android/splash/drawable-land-ldpi-screen.png


BIN
app/resources/android/splash/drawable-land-mdpi-screen.png


BIN
app/resources/android/splash/drawable-land-xhdpi-screen.png


BIN
app/resources/android/splash/drawable-land-xxhdpi-screen.png


BIN
app/resources/android/splash/drawable-land-xxxhdpi-screen.png


BIN
app/resources/android/splash/drawable-port-hdpi-screen.png


BIN
app/resources/android/splash/drawable-port-ldpi-screen.png


BIN
app/resources/android/splash/drawable-port-mdpi-screen.png


BIN
app/resources/android/splash/drawable-port-xhdpi-screen.png


BIN
app/resources/android/splash/drawable-port-xxhdpi-screen.png


BIN
app/resources/android/splash/drawable-port-xxxhdpi-screen.png


BIN
app/resources/icon.png


BIN
app/resources/ios/icon/icon-1024.png


BIN
app/resources/ios/icon/icon-40.png


BIN
app/resources/ios/icon/icon-40@2x.png


BIN
app/resources/ios/icon/icon-40@3x.png


BIN
app/resources/ios/icon/icon-50.png


BIN
app/resources/ios/icon/icon-50@2x.png


BIN
app/resources/ios/icon/icon-60.png


BIN
app/resources/ios/icon/icon-60@2x.png


BIN
app/resources/ios/icon/icon-60@3x.png


BIN
app/resources/ios/icon/icon-72.png


BIN
app/resources/ios/icon/icon-72@2x.png


BIN
app/resources/ios/icon/icon-76.png


BIN
app/resources/ios/icon/icon-76@2x.png


BIN
app/resources/ios/icon/icon-83.5@2x.png


BIN
app/resources/ios/icon/icon-small.png


BIN
app/resources/ios/icon/icon-small@2x.png


BIN
app/resources/ios/icon/icon-small@3x.png


BIN
app/resources/ios/icon/icon.png


BIN
app/resources/ios/icon/icon@2x.png


BIN
app/resources/ios/splash/Default-568h@2x~iphone.png


BIN
app/resources/ios/splash/Default-667h.png


BIN
app/resources/ios/splash/Default-736h.png


BIN
app/resources/ios/splash/Default-Landscape-736h.png


BIN
app/resources/ios/splash/Default-Landscape@2x~ipad.png


BIN
app/resources/ios/splash/Default-Landscape@~ipadpro.png


BIN
app/resources/ios/splash/Default-Landscape~ipad.png


BIN
app/resources/ios/splash/Default-Portrait@2x~ipad.png


BIN
app/resources/ios/splash/Default-Portrait@~ipadpro.png


BIN
app/resources/ios/splash/Default-Portrait~ipad.png


BIN
app/resources/ios/splash/Default@2x~iphone.png


BIN
app/resources/ios/splash/Default@2x~universal~anyany.png


BIN
app/resources/ios/splash/Default~iphone.png


BIN
app/resources/splash.png


+ 22 - 0
app/src/app/app.component.ts

@@ -0,0 +1,22 @@
+import { Component } from '@angular/core';
+import { Platform } from 'ionic-angular';
+import { StatusBar } from '@ionic-native/status-bar';
+import { SplashScreen } from '@ionic-native/splash-screen';
+
+import { HomePage } from '../pages/home/home';
+@Component({
+  templateUrl: 'app.html'
+})
+export class MyApp {
+  rootPage:any = HomePage;
+
+  constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
+    platform.ready().then(() => {
+      // Okay, so the platform is ready and our plugins are available.
+      // Here you can do any higher level native things you might need.
+      statusBar.styleDefault();
+      splashScreen.hide();
+    });
+  }
+}
+

+ 1 - 0
app/src/app/app.html

@@ -0,0 +1 @@
+<ion-nav [root]="rootPage"></ion-nav>

+ 30 - 0
app/src/app/app.module.ts

@@ -0,0 +1,30 @@
+import { BrowserModule } from '@angular/platform-browser';
+import { ErrorHandler, NgModule } from '@angular/core';
+import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
+import { SplashScreen } from '@ionic-native/splash-screen';
+import { StatusBar } from '@ionic-native/status-bar';
+
+import { MyApp } from './app.component';
+import { HomePage } from '../pages/home/home';
+
+@NgModule({
+  declarations: [
+    MyApp,
+    HomePage
+  ],
+  imports: [
+    BrowserModule,
+    IonicModule.forRoot(MyApp)
+  ],
+  bootstrap: [IonicApp],
+  entryComponents: [
+    MyApp,
+    HomePage
+  ],
+  providers: [
+    StatusBar,
+    SplashScreen,
+    {provide: ErrorHandler, useClass: IonicErrorHandler}
+  ]
+})
+export class AppModule {}

+ 16 - 0
app/src/app/app.scss

@@ -0,0 +1,16 @@
+// http://ionicframework.com/docs/theming/
+
+
+// App Global Sass
+// --------------------------------------------------
+// Put style rules here that you want to apply globally. These
+// styles are for the entire app and not just one component.
+// Additionally, this file can be also used as an entry point
+// to import other Sass files to be included in the output CSS.
+//
+// Shared Sass variables, which can be used to adjust Ionic's
+// default Sass variables, belong in "theme/variables.scss".
+//
+// To declare rules for a specific mode, create a child rule
+// for the .md, .ios, or .wp mode classes. The mode class is
+// automatically applied to the <body> element in the app.

+ 5 - 0
app/src/app/main.ts

@@ -0,0 +1,5 @@
+import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
+
+import { AppModule } from './app.module';
+
+platformBrowserDynamic().bootstrapModule(AppModule);

BIN
app/src/assets/icon/favicon.ico


BIN
app/src/assets/imgs/logo.png


+ 49 - 0
app/src/index.html

@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en" dir="ltr">
+<head>
+  <meta charset="UTF-8">
+  <title>Ionic App</title>
+  <meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
+  <meta name="format-detection" content="telephone=no">
+  <meta name="msapplication-tap-highlight" content="no">
+
+  <link rel="icon" type="image/x-icon" href="assets/icon/favicon.ico">
+  <link rel="manifest" href="manifest.json">
+  <meta name="theme-color" content="#4e8ef7">
+
+  <!-- add to homescreen for ios -->
+  <meta name="apple-mobile-web-app-capable" content="yes">
+  <meta name="apple-mobile-web-app-status-bar-style" content="black">
+
+  <!-- cordova.js required for cordova apps (remove if not needed) -->
+  <script src="cordova.js"></script>
+
+  <!-- un-comment this code to enable service worker
+  <script>
+    if ('serviceWorker' in navigator) {
+      navigator.serviceWorker.register('service-worker.js')
+        .then(() => console.log('service worker installed'))
+        .catch(err => console.error('Error', err));
+    }
+  </script>-->
+
+  <link href="build/main.css" rel="stylesheet">
+
+</head>
+<body>
+
+  <!-- Ionic's root component and where the app will load -->
+  <ion-app></ion-app>
+
+  <!-- The polyfills js is generated during the build process -->
+  <script src="build/polyfills.js"></script>
+
+  <!-- The vendor js is generated during the build process
+       It contains all of the dependencies in node_modules -->
+  <script src="build/vendor.js"></script>
+
+  <!-- The main bundle js is generated during the build process -->
+  <script src="build/main.js"></script>
+
+</body>
+</html>

+ 13 - 0
app/src/manifest.json

@@ -0,0 +1,13 @@
+{
+  "name": "Ionic",
+  "short_name": "Ionic",
+  "start_url": "index.html",
+  "display": "standalone",
+  "icons": [{
+    "src": "assets/imgs/logo.png",
+    "sizes": "512x512",
+    "type": "image/png"
+  }],
+  "background_color": "#4e8ef7",
+  "theme_color": "#4e8ef7"
+}

+ 14 - 0
app/src/pages/home/home.html

@@ -0,0 +1,14 @@
+<ion-header>
+  <ion-navbar>
+    <ion-title>
+      Ionic Blank
+    </ion-title>
+  </ion-navbar>
+</ion-header>
+
+<ion-content padding>
+  The world is your oyster.
+  <p>
+    If you get lost, the <a href="http://ionicframework.com/docs/v2">docs</a> will be your guide.
+  </p>
+</ion-content>

+ 3 - 0
app/src/pages/home/home.scss

@@ -0,0 +1,3 @@
+page-home {
+
+}

+ 14 - 0
app/src/pages/home/home.ts

@@ -0,0 +1,14 @@
+import { Component } from '@angular/core';
+import { NavController } from 'ionic-angular';
+
+@Component({
+  selector: 'page-home',
+  templateUrl: 'home.html'
+})
+export class HomePage {
+
+  constructor(public navCtrl: NavController) {
+
+  }
+
+}

+ 31 - 0
app/src/service-worker.js

@@ -0,0 +1,31 @@
+/**
+ * Check out https://googlechromelabs.github.io/sw-toolbox/ for
+ * more info on how to use sw-toolbox to custom configure your service worker.
+ */
+
+
+'use strict';
+importScripts('./build/sw-toolbox.js');
+
+self.toolbox.options.cache = {
+  name: 'ionic-cache'
+};
+
+// pre-cache our key assets
+self.toolbox.precache(
+  [
+    './build/main.js',
+    './build/vendor.js',
+    './build/main.css',
+    './build/polyfills.js',
+    'index.html',
+    'manifest.json'
+  ]
+);
+
+// dynamically cache any other local assets
+self.toolbox.router.any('/*', self.toolbox.fastest);
+
+// for any other requests go to the network, cache,
+// and then only use that cached resource if your user goes offline
+self.toolbox.router.default = self.toolbox.networkFirst;

+ 88 - 0
app/src/theme/variables.scss

@@ -0,0 +1,88 @@
+// Ionic Variables and Theming. For more info, please see:
+// http://ionicframework.com/docs/theming/
+
+// Font path is used to include ionicons,
+// roboto, and noto sans fonts
+$font-path: "../assets/fonts";
+
+
+// The app direction is used to include
+// rtl styles in your app. For more info, please see:
+// http://ionicframework.com/docs/theming/rtl-support/
+$app-direction: ltr;
+
+
+@import "ionic.globals";
+
+
+// Shared Variables
+// --------------------------------------------------
+// To customize the look and feel of this app, you can override
+// the Sass variables found in Ionic's source scss files.
+// To view all the possible Ionic variables, see:
+// http://ionicframework.com/docs/theming/overriding-ionic-variables/
+
+
+
+
+// Named Color Variables
+// --------------------------------------------------
+// Named colors makes it easy to reuse colors on various components.
+// It's highly recommended to change the default colors
+// to match your app's branding. Ionic uses a Sass map of
+// colors so you can add, rename and remove colors as needed.
+// The "primary" color is the only required color in the map.
+
+$colors: (
+  primary:    #488aff,
+  secondary:  #32db64,
+  danger:     #f53d3d,
+  light:      #f4f4f4,
+  dark:       #222
+);
+
+
+// App iOS Variables
+// --------------------------------------------------
+// iOS only Sass variables can go here
+
+
+
+
+// App Material Design Variables
+// --------------------------------------------------
+// Material Design only Sass variables can go here
+
+
+
+
+// App Windows Variables
+// --------------------------------------------------
+// Windows only Sass variables can go here
+
+
+
+
+// App Theme
+// --------------------------------------------------
+// Ionic apps can have different themes applied, which can
+// then be future customized. This import comes last
+// so that the above variables are used and Ionic's
+// default are overridden.
+
+@import "ionic.theme.default";
+
+
+// Ionicons
+// --------------------------------------------------
+// The premium icon font for Ionic. For more info, please see:
+// http://ionicframework.com/docs/ionicons/
+
+@import "ionic.ionicons";
+
+
+// Fonts
+// --------------------------------------------------
+
+@import "roboto";
+@import "noto-sans";

+ 28 - 0
app/tsconfig.json

@@ -0,0 +1,28 @@
+{
+  "compilerOptions": {
+    "allowSyntheticDefaultImports": true,
+    "declaration": false,
+    "emitDecoratorMetadata": true,
+    "experimentalDecorators": true,
+    "lib": [
+      "dom",
+      "es2015"
+    ],
+    "module": "es2015",
+    "moduleResolution": "node",
+    "sourceMap": true,
+    "target": "es5"
+  },
+  "include": [
+    "src/**/*.ts"
+  ],
+  "exclude": [
+    "node_modules",
+    "src/**/*.spec.ts",
+    "src/**/__tests__/*.ts"
+  ],
+  "compileOnSave": false,
+  "atom": {
+    "rewriteTsconfig": false
+  }
+}

+ 11 - 0
app/tslint.json

@@ -0,0 +1,11 @@
+{
+  "rules": {
+    "no-duplicate-variable": true,
+    "no-unused-variable": [
+      true
+    ]
+  },
+  "rulesDirectory": [
+    "node_modules/tslint-eslint-rules/dist/rules"
+  ]
+}