├── app
├── new-delivery-form
│ ├── new-delivery-form.module.ts
│ ├── new-delivery-form.component.css
│ ├── new-delivery-form.component.html
│ └── new-delivery-form.component.ts
├── app.component.html
├── constant.ts
├── App_Resources
│ ├── iOS
│ │ ├── Assets.xcassets
│ │ │ ├── Contents.json
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── icon-29.png
│ │ │ │ ├── icon-40.png
│ │ │ │ ├── icon-50.png
│ │ │ │ ├── icon-57.png
│ │ │ │ ├── icon-72.png
│ │ │ │ ├── icon-76.png
│ │ │ │ ├── icon-29@2x.png
│ │ │ │ ├── icon-29@3x.png
│ │ │ │ ├── icon-40@2x.png
│ │ │ │ ├── icon-40@3x.png
│ │ │ │ ├── icon-50@2x.png
│ │ │ │ ├── icon-57@2x.png
│ │ │ │ ├── icon-60@2x.png
│ │ │ │ ├── icon-60@3x.png
│ │ │ │ ├── icon-72@2x.png
│ │ │ │ ├── icon-76@2x.png
│ │ │ │ ├── icon-83.5@2x.png
│ │ │ │ └── Contents.json
│ │ │ ├── LaunchImage.launchimage
│ │ │ │ ├── Default.png
│ │ │ │ ├── Default@2x.png
│ │ │ │ ├── Default-568h@2x.png
│ │ │ │ ├── Default-667h@2x.png
│ │ │ │ ├── Default-736h@3x.png
│ │ │ │ ├── Default-Portrait.png
│ │ │ │ ├── Default-Landscape.png
│ │ │ │ ├── Default-Landscape@2x.png
│ │ │ │ ├── Default-Landscape@3x.png
│ │ │ │ ├── Default-Portrait@2x.png
│ │ │ │ └── Contents.json
│ │ │ ├── LaunchScreen.Center.imageset
│ │ │ │ ├── LaunchScreen-Center.png
│ │ │ │ ├── LaunchScreen-Center@2x.png
│ │ │ │ └── Contents.json
│ │ │ └── LaunchScreen.AspectFill.imageset
│ │ │ │ ├── LaunchScreen-AspectFill.png
│ │ │ │ ├── LaunchScreen-AspectFill@2x.png
│ │ │ │ └── Contents.json
│ │ ├── build.xcconfig
│ │ ├── Info.plist
│ │ └── LaunchScreen.storyboard
│ └── Android
│ │ ├── src
│ │ └── main
│ │ │ ├── res
│ │ │ ├── values-v21
│ │ │ │ ├── colors.xml
│ │ │ │ └── styles.xml
│ │ │ ├── drawable-hdpi
│ │ │ │ ├── icon.png
│ │ │ │ ├── logo.png
│ │ │ │ └── background.png
│ │ │ ├── drawable-ldpi
│ │ │ │ ├── icon.png
│ │ │ │ ├── logo.png
│ │ │ │ └── background.png
│ │ │ ├── drawable-mdpi
│ │ │ │ ├── icon.png
│ │ │ │ ├── logo.png
│ │ │ │ └── background.png
│ │ │ ├── drawable-xhdpi
│ │ │ │ ├── icon.png
│ │ │ │ ├── logo.png
│ │ │ │ └── background.png
│ │ │ ├── drawable-xxhdpi
│ │ │ │ ├── icon.png
│ │ │ │ ├── logo.png
│ │ │ │ └── background.png
│ │ │ ├── drawable-xxxhdpi
│ │ │ │ ├── icon.png
│ │ │ │ ├── logo.png
│ │ │ │ └── background.png
│ │ │ ├── values
│ │ │ │ ├── colors.xml
│ │ │ │ └── styles.xml
│ │ │ └── drawable-nodpi
│ │ │ │ └── splash_screen.xml
│ │ │ └── AndroidManifest.xml
│ │ └── app.gradle
├── assets
│ └── images
│ │ └── naruto-runner-cropped-bw.png
├── app.component.ts
├── package.json
├── types.ts
├── main.ts
├── home
│ ├── home.component.css
│ ├── home.component.html
│ ├── home-routing.module.ts
│ ├── home.component.js
│ ├── home-routing.module.js
│ ├── home.component.ts
│ ├── home.module.ts
│ └── home.module.js
├── main.js
├── app.component.js
├── app.css
├── app-routing.module.js
├── app-routing.module.ts
├── app.module.js
├── new_delivery_home
│ ├── new-delivery-home.component.css
│ ├── new-delivery-home.component.html
│ └── new-delivery-home.component.ts
└── app.module.ts
├── references.d.ts
├── README.md
├── tsconfig.json
├── .gitignore
└── package.json
/app/new-delivery-form/new-delivery-form.module.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/app.component.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/constant.ts:
--------------------------------------------------------------------------------
1 | export class Constant {
2 | public static WALLET_KEY: string = "walletKey";
3 | }
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/references.d.ts:
--------------------------------------------------------------------------------
1 | /// Needed for autocompletion and compilation.
--------------------------------------------------------------------------------
/app/assets/images/naruto-runner-cropped-bw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/assets/images/naruto-runner-cropped-bw.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/values-v21/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3d5afe
4 |
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png
--------------------------------------------------------------------------------
/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from "@angular/core";
2 |
3 | @Component({
4 | selector: "ns-app",
5 | templateUrl: "app.component.html"
6 | })
7 | export class AppComponent { }
8 |
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
--------------------------------------------------------------------------------
/app/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "android": {
3 | "v8Flags": "--expose_gc",
4 | "forceLog": true
5 | },
6 | "main": "main.js",
7 | "name": "tns-template-blank-ng",
8 | "version": "3.1.1"
9 | }
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/telosprotocol/eu-hackaton-delivery-app/HEAD/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #F5F5F5
4 | #757575
5 | #33B5E5
6 | #272734
7 |
--------------------------------------------------------------------------------
/app/types.ts:
--------------------------------------------------------------------------------
1 | export interface IDelivery {
2 | status?: deliveryStatus
3 | id?: string
4 | initiator?: string
5 | deliverer?: string
6 | from: string
7 | to: string
8 | description: string
9 | tokens: number
10 | }
11 |
12 | type deliveryStatus = "OPEN" | "IN_PROGRESS" | "COMPLETED"
13 |
--------------------------------------------------------------------------------
/app/main.ts:
--------------------------------------------------------------------------------
1 | // this import should be first in order to load some required settings (like globals and reflect-metadata)
2 | import { platformNativeScriptDynamic } from "nativescript-angular/platform";
3 | import { enableProdMode } from '@angular/core';
4 |
5 | import { AppModule } from "./app.module";
6 |
7 | enableProdMode();
8 | platformNativeScriptDynamic().bootstrapModule(AppModule);
9 |
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml:
--------------------------------------------------------------------------------
1 |
2 | -
3 |
4 |
5 | -
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/home/home.component.css:
--------------------------------------------------------------------------------
1 | .home-panel{
2 | /*vertical-align: top; only for dev purposes*/
3 | vertical-align: top;
4 | font-size: 20px;
5 | margin: 15em;
6 | }
7 |
8 | #home-logo-img {
9 | height: 500px;
10 | }
11 |
12 | #home-next-btn {
13 | /*margin: 100px;*/
14 | text-transform: capitalize;
15 | }
16 |
17 | #home-wallet-input {
18 | /*margin: 150px;*/
19 | }
20 |
--------------------------------------------------------------------------------
/app/App_Resources/Android/app.gradle:
--------------------------------------------------------------------------------
1 | // Add your native dependencies here:
2 |
3 | // Uncomment to add recyclerview-v7 dependency
4 | //dependencies {
5 | // compile 'com.android.support:recyclerview-v7:+'
6 | //}
7 |
8 | android {
9 | defaultConfig {
10 | generatedDensities = []
11 | applicationId = "__PACKAGE__"
12 | }
13 | aaptOptions {
14 | additionalParameters "--no-version-vectors"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/app/home/home.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | Object.defineProperty(exports, "__esModule", { value: true });
3 | // this import should be first in order to load some required settings (like globals and reflect-metadata)
4 | var platform_1 = require("nativescript-angular/platform");
5 | var core_1 = require("@angular/core");
6 | var app_module_1 = require("./app.module");
7 | core_1.enableProdMode();
8 | platform_1.platformNativeScriptDynamic().bootstrapModule(app_module_1.AppModule);
9 |
--------------------------------------------------------------------------------
/app/new-delivery-form/new-delivery-form.component.css:
--------------------------------------------------------------------------------
1 | .form-new-delivery-address {
2 | /*vertical-align: top; only for dev purposes*/
3 | vertical-align: top;
4 | margin-top: 100em;
5 | width: 90%;
6 | }
7 |
8 | TextField {
9 | margin: 5em;
10 | }
11 |
12 | #btn-finish-delivery-input {
13 | /*vertical-align: top; only for dev purposes*/
14 | vertical-align: top;
15 | margin-top: 10em;
16 | width: 80%;
17 | text-transform: capitalize;
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/app/app.component.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | Object.defineProperty(exports, "__esModule", { value: true });
3 | var core_1 = require("@angular/core");
4 | var AppComponent = /** @class */ (function () {
5 | function AppComponent() {
6 | }
7 | AppComponent = __decorate([
8 | core_1.Component({
9 | selector: "ns-app",
10 | templateUrl: "app.component.html"
11 | })
12 | ], AppComponent);
13 | return AppComponent;
14 | }());
15 | exports.AppComponent = AppComponent;
16 |
--------------------------------------------------------------------------------
/app/home/home-routing.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from "@angular/core";
2 | import { Routes } from "@angular/router";
3 | import { NativeScriptRouterModule } from "nativescript-angular/router";
4 |
5 | import { HomeComponent } from "./home.component";
6 |
7 | const routes: Routes = [
8 | { path: "", component: HomeComponent }
9 | ];
10 |
11 | @NgModule({
12 | imports: [NativeScriptRouterModule.forChild(routes)],
13 | exports: [NativeScriptRouterModule]
14 | })
15 | export class HomeRoutingModule { }
16 |
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-Center.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-Center@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-AspectFill.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-AspectFill@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/app/App_Resources/iOS/build.xcconfig:
--------------------------------------------------------------------------------
1 | // You can add custom settings here
2 | // for example you can uncomment the following line to force distribution code signing
3 | // CODE_SIGN_IDENTITY = iPhone Distribution
4 | // To build for device with XCode 8 you need to specify your development team. More info: https://developer.apple.com/library/prerelease/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html
5 | // DEVELOPMENT_TEAM = YOUR_TEAM_ID;
6 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
7 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
8 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Blockchain Package Delivery System - Frontend
2 |
3 | > This repo was created for the [Hack to the Moon](https://hacktothemoon.com/) hackathon on the 29th of September 2019 in Prague.
4 |
5 | Our idea was to create a simple package delivery system based on [TOP network](https://www.topnetwork.org/) blockchain.
6 |
7 | ## Contributors:
8 | - [Miguel Rey Lopez](https://github.com/migreylopez)
9 | - [Alex Roig](https://github.com/keponer)
10 | - [Alberto Mora Plata](https://github.com/albermorap)
11 | - [Ahmed Toubar](https://github.com/toubar/)
12 |
--------------------------------------------------------------------------------
/app/app.css:
--------------------------------------------------------------------------------
1 | /*
2 | In NativeScript, the app.css file is where you place CSS rules that
3 | you would like to apply to your entire application. Check out
4 | http://docs.nativescript.org/ui/styling for a full list of the CSS
5 | selectors and properties you can use to style UI components.
6 |
7 | /*
8 | For example, the following CSS rule changes the font size of all UI
9 | components that have the btn class name.
10 | */
11 |
12 | /*
13 | In many cases you may want to use the NativeScript core theme instead
14 | of writing your own CSS rules. For a full list of class names in the theme
15 | refer to http://docs.nativescript.org/ui/theme.
16 | */
17 | @import '~nativescript-theme-core/css/core.light.css';
18 |
--------------------------------------------------------------------------------
/app/home/home.component.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | Object.defineProperty(exports, "__esModule", { value: true });
3 | var core_1 = require("@angular/core");
4 | var HomeComponent = /** @class */ (function () {
5 | function HomeComponent() {
6 | }
7 | HomeComponent.prototype.ngOnInit = function () {
8 | };
9 | HomeComponent = __decorate([
10 | core_1.Component({
11 | selector: "Home",
12 | moduleId: module.id,
13 | templateUrl: "./home.component.html",
14 | styleUrls: ["./home.component.css"]
15 | }),
16 | __metadata("design:paramtypes", [])
17 | ], HomeComponent);
18 | return HomeComponent;
19 | }());
20 | exports.HomeComponent = HomeComponent;
21 |
--------------------------------------------------------------------------------
/app/app-routing.module.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | Object.defineProperty(exports, "__esModule", { value: true });
3 | var core_1 = require("@angular/core");
4 | var router_1 = require("nativescript-angular/router");
5 | var routes = [
6 | { path: "", redirectTo: "/home", pathMatch: "full" },
7 | { path: "home", loadChildren: "./home/home.module#HomeModule" }
8 | ];
9 | var AppRoutingModule = /** @class */ (function () {
10 | function AppRoutingModule() {
11 | }
12 | AppRoutingModule = __decorate([
13 | core_1.NgModule({
14 | imports: [router_1.NativeScriptRouterModule.forRoot(routes)],
15 | exports: [router_1.NativeScriptRouterModule]
16 | })
17 | ], AppRoutingModule);
18 | return AppRoutingModule;
19 | }());
20 | exports.AppRoutingModule = AppRoutingModule;
21 |
--------------------------------------------------------------------------------
/app/home/home-routing.module.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | Object.defineProperty(exports, "__esModule", { value: true });
3 | var core_1 = require("@angular/core");
4 | var router_1 = require("nativescript-angular/router");
5 | var home_component_1 = require("./home.component");
6 | var routes = [
7 | { path: "", component: home_component_1.HomeComponent }
8 | ];
9 | var HomeRoutingModule = /** @class */ (function () {
10 | function HomeRoutingModule() {
11 | }
12 | HomeRoutingModule = __decorate([
13 | core_1.NgModule({
14 | imports: [router_1.NativeScriptRouterModule.forChild(routes)],
15 | exports: [router_1.NativeScriptRouterModule]
16 | })
17 | ], HomeRoutingModule);
18 | return HomeRoutingModule;
19 | }());
20 | exports.HomeRoutingModule = HomeRoutingModule;
21 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "commonjs",
4 | "target": "es5",
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "noEmitHelpers": true,
8 | "noEmitOnError": true,
9 | "lib": [
10 | "es6",
11 | "dom",
12 | "es2015.iterable"
13 | ],
14 | "baseUrl": ".",
15 | "paths": {
16 | "*": [
17 | "./node_modules/tns-core-modules/*",
18 | "./node_modules/*"
19 | ],
20 | "~/*": [
21 | "app/*"
22 | ]
23 | }
24 | },
25 | "exclude": [
26 | "node_modules",
27 | "platforms",
28 | "typings",
29 | "**/*.aot.ts",
30 | "additional-models"
31 | ]
32 | }
--------------------------------------------------------------------------------
/app/app-routing.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from "@angular/core";
2 | import { Routes } from "@angular/router";
3 | import { NativeScriptRouterModule } from "nativescript-angular/router";
4 | import { NewDeliveryHomeComponent } from './new_delivery_home/new-delivery-home.component';
5 | import {NewDeliveryFormComponent} from "~/new-delivery-form/new-delivery-form.component";
6 |
7 | const routes: Routes = [
8 | { path: "", redirectTo: "/home", pathMatch: "full" },
9 | { path: "home", loadChildren: "./home/home.module#HomeModule" },
10 | { path: "deliveryHome", component: NewDeliveryHomeComponent },
11 | { path: "new-delivery-form", component: NewDeliveryFormComponent},
12 | ];
13 |
14 | @NgModule({
15 | imports: [NativeScriptRouterModule.forRoot(routes)],
16 | exports: [NativeScriptRouterModule]
17 | })
18 | export class AppRoutingModule { }
19 |
--------------------------------------------------------------------------------
/app/home/home.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnInit } from "@angular/core";
2 | import * as appSettings from "tns-core-modules/application-settings";
3 | import {Constant} from "~/constant";
4 | import {RouterExtensions} from "nativescript-angular";
5 |
6 | @Component({
7 | selector: "Home",
8 | moduleId: module.id,
9 | templateUrl: "./home.component.html",
10 | styleUrls: ["./home.component.css"]
11 | })
12 | export class HomeComponent implements OnInit {
13 | private walletText: string;
14 |
15 | constructor(private routerExtensions: RouterExtensions) {
16 |
17 | }
18 |
19 | ngOnInit(): void {
20 | }
21 |
22 | setWallet() {
23 | appSettings.setString(Constant.WALLET_KEY, this.walletText);
24 | console.log("LOG: Wallet key has been saved: " + (this.walletText));
25 | this.routerExtensions.navigate(["/deliveryHome"], { clearHistory: true });
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | platforms
3 | hooks
4 | tags
5 | **/*.js.map
6 | **/*.metadata.json
7 |
8 | /nativescript-angular/**/*.d.ts
9 | /nativescript-angular/**/*.js
10 |
11 | !/nativescript-angular/global.d.ts
12 | !/nativescript-angular/postinstall.js
13 | !/nativescript-angular/hooks/**/*.js
14 | !/nativescript-angular/gulpfile.js
15 | !/nativescript-angular/zone-js/dist/*.js
16 |
17 | .tscache
18 | .nvm
19 | .vscode
20 | .DS_Store
21 | npm-debug.log
22 | nativescript-angular*.tgz
23 | package-lock.json
24 |
25 | # Apps' JS files
26 | tests/app/**/*.js
27 | tests/test-output.txt
28 | ng-sample/app/**/*.js
29 |
30 | # Webpack configuration files
31 | webpack.config.js
32 | tsconfig.esm.json
33 | tsconfig.tns.json
34 |
35 | # IDEs and editors
36 | /.idea
37 | .project
38 | .classpath
39 | .c9/
40 | *.launch
41 | .settings/
42 |
43 | # IDE - VSCode
44 | .vscode/*
45 | !.vscode/settings.json
46 | !.vscode/tasks.json
47 | !.vscode/launch.json
48 | !.vscode/extensions.json
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 |
14 |
15 |
16 |
19 |
20 |
23 |
--------------------------------------------------------------------------------
/app/app.module.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | Object.defineProperty(exports, "__esModule", { value: true });
3 | var core_1 = require("@angular/core");
4 | var nativescript_module_1 = require("nativescript-angular/nativescript.module");
5 | var app_routing_module_1 = require("./app-routing.module");
6 | var app_component_1 = require("./app.component");
7 | var AppModule = /** @class */ (function () {
8 | function AppModule() {
9 | }
10 | AppModule = __decorate([
11 | core_1.NgModule({
12 | bootstrap: [
13 | app_component_1.AppComponent
14 | ],
15 | imports: [
16 | nativescript_module_1.NativeScriptModule,
17 | app_routing_module_1.AppRoutingModule
18 | ],
19 | declarations: [
20 | app_component_1.AppComponent
21 | ],
22 | schemas: [
23 | core_1.NO_ERRORS_SCHEMA
24 | ]
25 | })
26 | ], AppModule);
27 | return AppModule;
28 | }());
29 | exports.AppModule = AppModule;
30 |
--------------------------------------------------------------------------------
/app/new_delivery_home/new-delivery-home.component.css:
--------------------------------------------------------------------------------
1 | .btn-new-delivery {
2 | /*vertical-align: top; only for dev purposes*/
3 | vertical-align: bottom;
4 | horizontal-align: center;
5 | margin: 10em;
6 | text-transform: none;
7 | width: 60%;
8 | }
9 |
10 | .page-layout {
11 | padding: 20em;
12 | margin: 10em;
13 | }
14 |
15 | .list-group-item {
16 | justify-content: space-between;
17 | }
18 |
19 | .open-deliveries-table-header {
20 | justify-content: space-between;
21 | font-weight: 500;
22 | font-family: "Arial Rounded MT Bold";
23 | }
24 |
25 |
26 | .lbl-your-deliveries {
27 | margin: 30em;
28 | font-size: 30em;
29 | vertical-align: top;
30 | text-align: center;
31 | font-weight: 500;
32 | text-transform: capitalize;
33 | font-family: "Roboto Regular";
34 | }
35 |
36 | .list-delivery-tokens {
37 | order: 1;
38 | }
39 |
40 | .list-delivery-from {
41 | order: 2;
42 | }
43 |
44 | .list-delivery-to {
45 | order: 3;
46 | }
47 |
48 | .list-delivery-status {
49 | order: 4;
50 | align-content: flex-end;
51 | }
52 |
53 |
54 |
--------------------------------------------------------------------------------
/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule, NgModuleFactoryLoader, NO_ERRORS_SCHEMA } from "@angular/core";
2 | import { NativeScriptModule } from "nativescript-angular/nativescript.module";
3 |
4 | import { AppRoutingModule } from "./app-routing.module";
5 | import { AppComponent } from "./app.component";
6 | import { NewDeliveryHomeComponent } from "./new_delivery_home/new-delivery-home.component";
7 | import {NativeScriptUIDataFormModule} from "nativescript-ui-dataform/angular";
8 | import {NativeScriptFormsModule} from "nativescript-angular";
9 | import {NewDeliveryFormComponent} from "~/new-delivery-form/new-delivery-form.component";
10 |
11 | @NgModule({
12 | bootstrap: [
13 | AppComponent
14 | ],
15 | imports: [
16 | NativeScriptModule,
17 | AppRoutingModule,
18 | NativeScriptUIDataFormModule,
19 | NativeScriptFormsModule
20 | ],
21 | declarations: [
22 | AppComponent,
23 | NewDeliveryHomeComponent,
24 | NewDeliveryFormComponent
25 | ],
26 | schemas: [
27 | NO_ERRORS_SCHEMA
28 | ]
29 | })
30 | export class AppModule { }
31 |
--------------------------------------------------------------------------------
/app/new-delivery-form/new-delivery-form.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/app/new_delivery_home/new-delivery-home.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/home/home.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core";
2 | import { NativeScriptCommonModule } from "nativescript-angular/common";
3 | import { NativeScriptUISideDrawerModule } from "nativescript-ui-sidedrawer/angular";
4 | import { NativeScriptUIListViewModule } from "nativescript-ui-listview/angular";
5 | import { NativeScriptUICalendarModule } from "nativescript-ui-calendar/angular";
6 | import { NativeScriptUIChartModule } from "nativescript-ui-chart/angular";
7 | import { NativeScriptUIDataFormModule } from "nativescript-ui-dataform/angular";
8 | import { NativeScriptUIAutoCompleteTextViewModule } from "nativescript-ui-autocomplete/angular";
9 | import { NativeScriptUIGaugeModule } from "nativescript-ui-gauge/angular";
10 | import { NativeScriptFormsModule } from "nativescript-angular/forms";
11 |
12 | import { HomeRoutingModule } from "./home-routing.module";
13 | import { HomeComponent } from "./home.component";
14 |
15 | @NgModule({
16 | imports: [
17 | NativeScriptUISideDrawerModule,
18 | NativeScriptUIListViewModule,
19 | NativeScriptUICalendarModule,
20 | NativeScriptUIChartModule,
21 | NativeScriptUIDataFormModule,
22 | NativeScriptUIAutoCompleteTextViewModule,
23 | NativeScriptUIGaugeModule,
24 | NativeScriptCommonModule,
25 | HomeRoutingModule,
26 | NativeScriptFormsModule
27 | ],
28 | declarations: [
29 | HomeComponent
30 | ],
31 | schemas: [
32 | NO_ERRORS_SCHEMA
33 | ]
34 | })
35 | export class HomeModule { }
36 |
--------------------------------------------------------------------------------
/app/new-delivery-form/new-delivery-form.component.ts:
--------------------------------------------------------------------------------
1 | import {Component, OnInit} from "@angular/core";
2 | import {RouterExtensions} from "nativescript-angular";
3 | import {IDelivery} from "~/types";
4 | import axios from "axios";
5 | import * as appSettings from "application-settings";
6 | import {Constant} from "~/constant";
7 | import {TextField} from "tns-core-modules/ui/text-field";
8 |
9 | @Component({
10 | selector: "new-delivery-form",
11 | moduleId: module.id,
12 | templateUrl: "./new-delivery-form.component.html",
13 | styleUrls: ['./new-delivery-form.component.css']
14 | })
15 |
16 | export class NewDeliveryFormComponent {
17 |
18 | private from: string;
19 | private to: string;
20 | private description: string;
21 | private tokens: number;
22 |
23 | onButtonTap = () => {
24 | this.postNewDelivery();
25 | };
26 |
27 | postNewDelivery = () => {
28 | const newDeliveryJson = {
29 | privateKey: appSettings.getString(Constant.WALLET_KEY),
30 | tokens: this.tokens,
31 | description: this.description,
32 | from: this.from,
33 | to: this.to,
34 | };
35 | axios.post(`https://backstreet-hodlers.herokuapp.com/deliveries`, newDeliveryJson)
36 | .then((res) => {
37 | console.log(res.status);
38 | console.log("success!");
39 | })
40 | .catch((err) => {
41 | console.log("Could not get list of deliveries, ERR: ", err.toString());
42 | })
43 | };
44 | }
45 |
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | ${PRODUCT_NAME}
9 | CFBundleExecutable
10 | ${EXECUTABLE_NAME}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIRequiresFullScreen
28 |
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
29 |
30 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/app/home/home.module.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | Object.defineProperty(exports, "__esModule", { value: true });
3 | var core_1 = require("@angular/core");
4 | var common_1 = require("nativescript-angular/common");
5 | var angular_1 = require("nativescript-ui-sidedrawer/angular");
6 | var angular_2 = require("nativescript-ui-listview/angular");
7 | var angular_3 = require("nativescript-ui-calendar/angular");
8 | var angular_4 = require("nativescript-ui-chart/angular");
9 | var angular_5 = require("nativescript-ui-dataform/angular");
10 | var angular_6 = require("nativescript-ui-autocomplete/angular");
11 | var angular_7 = require("nativescript-ui-gauge/angular");
12 | var forms_1 = require("nativescript-angular/forms");
13 | var home_routing_module_1 = require("./home-routing.module");
14 | var home_component_1 = require("./home.component");
15 | var HomeModule = /** @class */ (function () {
16 | function HomeModule() {
17 | }
18 | HomeModule = __decorate([
19 | core_1.NgModule({
20 | imports: [
21 | angular_1.NativeScriptUISideDrawerModule,
22 | angular_2.NativeScriptUIListViewModule,
23 | angular_3.NativeScriptUICalendarModule,
24 | angular_4.NativeScriptUIChartModule,
25 | angular_5.NativeScriptUIDataFormModule,
26 | angular_6.NativeScriptUIAutoCompleteTextViewModule,
27 | angular_7.NativeScriptUIGaugeModule,
28 | common_1.NativeScriptCommonModule,
29 | home_routing_module_1.HomeRoutingModule,
30 | forms_1.NativeScriptFormsModule
31 | ],
32 | declarations: [
33 | home_component_1.HomeComponent
34 | ],
35 | schemas: [
36 | core_1.NO_ERRORS_SCHEMA
37 | ]
38 | })
39 | ], HomeModule);
40 | return HomeModule;
41 | }());
42 | exports.HomeModule = HomeModule;
43 |
--------------------------------------------------------------------------------
/app/App_Resources/Android/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
18 |
19 |
21 |
22 |
23 |
31 |
32 |
34 |
35 |
36 |
42 |
43 |
45 |
46 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "description": "NativeScript Application",
3 | "license": "SEE LICENSE IN ",
4 | "readme": "NativeScript Application",
5 | "repository": "",
6 | "nativescript": {
7 | "id": "org.nativescript.blankng",
8 | "tns-ios": {
9 | "version": "6.1.0"
10 | },
11 | "tns-android": {
12 | "version": "6.1.2"
13 | }
14 | },
15 | "dependencies": {
16 | "@angular/animations": "8.2.4",
17 | "@angular/common": "8.2.4",
18 | "@angular/compiler": "8.2.4",
19 | "@angular/core": "8.2.4",
20 | "@angular/forms": "8.2.4",
21 | "@angular/http": "8.0.0-beta.10",
22 | "@angular/platform-browser": "8.2.4",
23 | "@angular/platform-browser-dynamic": "8.2.4",
24 | "@angular/router": "8.2.4",
25 | "@progress-nativechat/nativescript-nativechat": "2.0.4",
26 | "axios": "^0.19.0",
27 | "kinvey-nativescript-sdk": "4.2.3",
28 | "nativescript-accelerometer": "2.0.1",
29 | "nativescript-angular": "8.2.1",
30 | "nativescript-background-http": "3.4.1",
31 | "nativescript-camera": "4.5.0",
32 | "nativescript-geolocation": "5.1.0",
33 | "nativescript-image": "2.2.5",
34 | "nativescript-imagepicker": "7.0.0",
35 | "nativescript-intl": "3.0.0",
36 | "nativescript-iqkeyboardmanager": "1.5.1",
37 | "nativescript-social-share": "1.5.2",
38 | "nativescript-theme-core": "1.0.6",
39 | "nativescript-ui-autocomplete": "5.1.0",
40 | "nativescript-ui-calendar": "5.0.0",
41 | "nativescript-ui-chart": "6.0.0",
42 | "nativescript-ui-dataform": "5.0.0",
43 | "nativescript-ui-gauge": "5.0.0",
44 | "nativescript-ui-listview": "7.0.4",
45 | "nativescript-ui-sidedrawer": "7.0.1",
46 | "reflect-metadata": "0.1.13",
47 | "rxjs": "6.5.2",
48 | "rxjs-compat": "6.5.2",
49 | "tns-core-modules": "~6.1.0",
50 | "zone.js": "0.10.2"
51 | },
52 | "devDependencies": {
53 | "@angular/compiler-cli": "8.2.4",
54 | "@ngtools/webpack": "8.3.2",
55 | "nativescript-dev-webpack": "1.2.0",
56 | "tns-platform-declarations": "6.1.0",
57 | "typescript": "3.5.3"
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "29x29",
5 | "idiom" : "iphone",
6 | "filename" : "icon-29.png",
7 | "scale" : "1x"
8 | },
9 | {
10 | "size" : "29x29",
11 | "idiom" : "iphone",
12 | "filename" : "icon-29@2x.png",
13 | "scale" : "2x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "icon-29@3x.png",
19 | "scale" : "3x"
20 | },
21 | {
22 | "size" : "40x40",
23 | "idiom" : "iphone",
24 | "filename" : "icon-40@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "40x40",
29 | "idiom" : "iphone",
30 | "filename" : "icon-40@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "57x57",
35 | "idiom" : "iphone",
36 | "filename" : "icon-57.png",
37 | "scale" : "1x"
38 | },
39 | {
40 | "size" : "57x57",
41 | "idiom" : "iphone",
42 | "filename" : "icon-57@2x.png",
43 | "scale" : "2x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "icon-60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "icon-60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "29x29",
59 | "idiom" : "ipad",
60 | "filename" : "icon-29.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "29x29",
65 | "idiom" : "ipad",
66 | "filename" : "icon-29@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "40x40",
71 | "idiom" : "ipad",
72 | "filename" : "icon-40.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "40x40",
77 | "idiom" : "ipad",
78 | "filename" : "icon-40@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "50x50",
83 | "idiom" : "ipad",
84 | "filename" : "icon-50.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "50x50",
89 | "idiom" : "ipad",
90 | "filename" : "icon-50@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "72x72",
95 | "idiom" : "ipad",
96 | "filename" : "icon-72.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "72x72",
101 | "idiom" : "ipad",
102 | "filename" : "icon-72@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "76x76",
107 | "idiom" : "ipad",
108 | "filename" : "icon-76.png",
109 | "scale" : "1x"
110 | },
111 | {
112 | "size" : "76x76",
113 | "idiom" : "ipad",
114 | "filename" : "icon-76@2x.png",
115 | "scale" : "2x"
116 | },
117 | {
118 | "size" : "83.5x83.5",
119 | "idiom" : "ipad",
120 | "filename" : "icon-83.5@2x.png",
121 | "scale" : "2x"
122 | }
123 | ],
124 | "info" : {
125 | "version" : 1,
126 | "author" : "xcode"
127 | }
128 | }
--------------------------------------------------------------------------------
/app/App_Resources/iOS/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "extent" : "full-screen",
5 | "idiom" : "iphone",
6 | "subtype" : "736h",
7 | "filename" : "Default-736h@3x.png",
8 | "minimum-system-version" : "8.0",
9 | "orientation" : "portrait",
10 | "scale" : "3x"
11 | },
12 | {
13 | "extent" : "full-screen",
14 | "idiom" : "iphone",
15 | "subtype" : "736h",
16 | "filename" : "Default-Landscape@3x.png",
17 | "minimum-system-version" : "8.0",
18 | "orientation" : "landscape",
19 | "scale" : "3x"
20 | },
21 | {
22 | "extent" : "full-screen",
23 | "idiom" : "iphone",
24 | "subtype" : "667h",
25 | "filename" : "Default-667h@2x.png",
26 | "minimum-system-version" : "8.0",
27 | "orientation" : "portrait",
28 | "scale" : "2x"
29 | },
30 | {
31 | "orientation" : "portrait",
32 | "idiom" : "iphone",
33 | "filename" : "Default@2x.png",
34 | "extent" : "full-screen",
35 | "minimum-system-version" : "7.0",
36 | "scale" : "2x"
37 | },
38 | {
39 | "extent" : "full-screen",
40 | "idiom" : "iphone",
41 | "subtype" : "retina4",
42 | "filename" : "Default-568h@2x.png",
43 | "minimum-system-version" : "7.0",
44 | "orientation" : "portrait",
45 | "scale" : "2x"
46 | },
47 | {
48 | "orientation" : "portrait",
49 | "idiom" : "ipad",
50 | "filename" : "Default-Portrait.png",
51 | "extent" : "full-screen",
52 | "minimum-system-version" : "7.0",
53 | "scale" : "1x"
54 | },
55 | {
56 | "orientation" : "landscape",
57 | "idiom" : "ipad",
58 | "filename" : "Default-Landscape.png",
59 | "extent" : "full-screen",
60 | "minimum-system-version" : "7.0",
61 | "scale" : "1x"
62 | },
63 | {
64 | "orientation" : "portrait",
65 | "idiom" : "ipad",
66 | "filename" : "Default-Portrait@2x.png",
67 | "extent" : "full-screen",
68 | "minimum-system-version" : "7.0",
69 | "scale" : "2x"
70 | },
71 | {
72 | "orientation" : "landscape",
73 | "idiom" : "ipad",
74 | "filename" : "Default-Landscape@2x.png",
75 | "extent" : "full-screen",
76 | "minimum-system-version" : "7.0",
77 | "scale" : "2x"
78 | },
79 | {
80 | "orientation" : "portrait",
81 | "idiom" : "iphone",
82 | "filename" : "Default.png",
83 | "extent" : "full-screen",
84 | "scale" : "1x"
85 | },
86 | {
87 | "orientation" : "portrait",
88 | "idiom" : "iphone",
89 | "filename" : "Default@2x.png",
90 | "extent" : "full-screen",
91 | "scale" : "2x"
92 | },
93 | {
94 | "orientation" : "portrait",
95 | "idiom" : "iphone",
96 | "filename" : "Default-568h@2x.png",
97 | "extent" : "full-screen",
98 | "subtype" : "retina4",
99 | "scale" : "2x"
100 | },
101 | {
102 | "orientation" : "portrait",
103 | "idiom" : "ipad",
104 | "extent" : "to-status-bar",
105 | "scale" : "1x"
106 | },
107 | {
108 | "orientation" : "portrait",
109 | "idiom" : "ipad",
110 | "filename" : "Default-Portrait.png",
111 | "extent" : "full-screen",
112 | "scale" : "1x"
113 | },
114 | {
115 | "orientation" : "landscape",
116 | "idiom" : "ipad",
117 | "extent" : "to-status-bar",
118 | "scale" : "1x"
119 | },
120 | {
121 | "orientation" : "landscape",
122 | "idiom" : "ipad",
123 | "filename" : "Default-Landscape.png",
124 | "extent" : "full-screen",
125 | "scale" : "1x"
126 | },
127 | {
128 | "orientation" : "portrait",
129 | "idiom" : "ipad",
130 | "extent" : "to-status-bar",
131 | "scale" : "2x"
132 | },
133 | {
134 | "orientation" : "portrait",
135 | "idiom" : "ipad",
136 | "filename" : "Default-Portrait@2x.png",
137 | "extent" : "full-screen",
138 | "scale" : "2x"
139 | },
140 | {
141 | "orientation" : "landscape",
142 | "idiom" : "ipad",
143 | "extent" : "to-status-bar",
144 | "scale" : "2x"
145 | },
146 | {
147 | "orientation" : "landscape",
148 | "idiom" : "ipad",
149 | "filename" : "Default-Landscape@2x.png",
150 | "extent" : "full-screen",
151 | "scale" : "2x"
152 | }
153 | ],
154 | "info" : {
155 | "version" : 1,
156 | "author" : "xcode"
157 | }
158 | }
--------------------------------------------------------------------------------
/app/new_delivery_home/new-delivery-home.component.ts:
--------------------------------------------------------------------------------
1 | import {ItemEventData} from "tns-core-modules/ui/list-view"
2 | import {AfterViewInit, Component} from "@angular/core";
3 | import {RouterExtensions} from "nativescript-angular";
4 | import axios from "axios";
5 | import {IDelivery} from "~/types"
6 | import * as dialogs from "tns-core-modules/ui/dialogs";
7 | import * as appSettings from "application-settings";
8 | import {Constant} from "~/constant";
9 | import { request, getFile, getImage, getJSON, getString } from "tns-core-modules/http";
10 |
11 | @Component({
12 | selector: "new-delivery-home",
13 | moduleId: module.id,
14 | templateUrl: "./new-delivery-home.component.html",
15 | styleUrls: ['./new-delivery-home.component.css']
16 | })
17 |
18 | export class NewDeliveryHomeComponent implements AfterViewInit {
19 |
20 | // TODO enable API call and disable dummy data
21 | private deliveries: Array = [];
22 |
23 | constructor(private routerExtensions: RouterExtensions) {
24 | }
25 |
26 | ngAfterViewInit() {
27 | console.log("LOG: NewDeliveryHomeComponent just re-rendered");
28 | // TODO enable GET list of deliveries HTTP call and disable dummy data
29 | this.deliveries = this.getDeliveries();
30 | };
31 |
32 | getDeliveries = (): IDelivery[] => {
33 | console.log("LOG: getting list of deliveries....");
34 | const url: string = `https://backstreet-hodlers.herokuapp.com/deliveries/open?privateKey=${appSettings.getString(Constant.WALLET_KEY)}`;
35 | console.log(url);
36 | let listOfDeliveries: IDelivery[] = [];
37 | axios.get(url)
38 | .then((res) => {
39 | console.log("got the list of deliveries!");
40 | console.log(res.data);
41 | listOfDeliveries = res.data;
42 | })
43 | .catch((err) => {
44 | console.log("FAILED!");
45 | console.log(err.toString());
46 | listOfDeliveries = [];
47 | });
48 | return listOfDeliveries;
49 | };
50 |
51 | takeDelivery = (id: number, address: string) => {
52 | axios.put(`https://backstreet-hodlers.herokuapp.com/deliveries/${id}/assign?privateKey=${appSettings.getString(Constant.WALLET_KEY)}`)
53 | .then((res) => {
54 | // TODO GET list of deliveries
55 | // this.deliveries = this.getDeliveries();
56 | })
57 | .catch((err) => {
58 | console.log("Could not get list of deliveries, ERR: ", err.toString());
59 | })
60 | };
61 |
62 | // dummy data till REST works
63 | // deliveries: IDelivery[] = [
64 | // {
65 | // status: "OPEN",
66 | // id: "1",
67 | // initiator: "alberto",
68 | // deliverer: "alex",
69 | // from: "Prague 1",
70 | // to: "Prague 2",
71 | // description: "I would like to deliver documents to my lawyer",
72 | // tokens: 5,
73 | // },
74 | // {
75 | // status: "OPEN",
76 | // id: "2",
77 | // initiator: "rey",
78 | // deliverer: "toubar",
79 | // from: "Prague 1",
80 | // to: "Prague 3",
81 | // description: "I would like to deliver an item tomorrow",
82 | // tokens: 6,
83 | // },
84 | // {
85 | // status: "OPEN",
86 | // id: "3",
87 | // initiator: "rey",
88 | // deliverer: "toubar",
89 | // from: "Prague 1",
90 | // to: "Prague 3",
91 | // description: "I would like to deliver a TV at next week",
92 | // tokens: 2,
93 | // },
94 | // {
95 | // status: "OPEN",
96 | // id: "4",
97 | // initiator: "rey",
98 | // deliverer: "toubar",
99 | // from: "Prague 1",
100 | // to: "Prague 4",
101 | // description: "I would like to deliver an item from my friend in Prague 1",
102 | // tokens: 3,
103 | // },
104 | // {
105 | // status: "OPEN",
106 | // id: "5",
107 | // initiator: "rey",
108 | // deliverer: "toubar",
109 | // from: "Prague 5",
110 | // to: "Prague 6",
111 | // description: "I would like to deliver something in the evening",
112 | // tokens: 6
113 | // },
114 | // {
115 | // status: "OPEN",
116 | // id: "6",
117 | // initiator: "rey",
118 | // deliverer: "toubar",
119 | // from: "Prague 1",
120 | // to: "Prague 7",
121 | // description: "I would like to deliver my notes to my friend in Prague 7",
122 | // tokens: 9,
123 | // },
124 | // {
125 | // status: "OPEN",
126 | // id: "7",
127 | // initiator: "rey",
128 | // deliverer: "toubar",
129 | // from: "Prague 3",
130 | // to: "Prague 7",
131 | // description: "I would like to deliver a bag to my mom",
132 | // tokens: 5,
133 | // },
134 | // {
135 | // status: "OPEN",
136 | // id: "8",
137 | // initiator: "rey",
138 | // deliverer: "toubar",
139 | // from: "Prague 4",
140 | // to: "Prague 1",
141 | // description: "I would like to deliver my notes to my friend in Prague 7",
142 | // tokens: 3,
143 | // },
144 | // {
145 | // status: "OPEN",
146 | // id: "9",
147 | // initiator: "rey",
148 | // deliverer: "toubar",
149 | // from: "Prague 8",
150 | // to: "Prague 2",
151 | // description: "I would like to deliver an item from my friend in Prague 1",
152 | // tokens: 8,
153 | // },
154 | // {
155 | // status: "OPEN",
156 | // id: "10",
157 | // initiator: "rey",
158 | // deliverer: "toubar",
159 | // from: "Prague 1",
160 | // to: "Prague 1",
161 | // description: "I would like to deliver documents to my lawyer",
162 | // tokens: 3,
163 | // },
164 | // // {
165 | // // status: "COMPLETED",
166 | // // id: "11",
167 | // // initiator: "rey",
168 | // // deliverer: "toubar",
169 | // // from: "alberto",
170 | // // to: "rey",
171 | // // description: "Novakovych 8",
172 | // // tokens: 12,
173 | // // },
174 | // // {
175 | // // status: "IN_PROGRESS",
176 | // // id: "12",
177 | // // initiator: "rey",
178 | // // deliverer: "toubar",
179 | // // from: "alberto",
180 | // // to: "rey",
181 | // // description: "Novakovych 8",
182 | // // tokens: 12,
183 | // // },
184 | // // {
185 | // // status: "OPEN",
186 | // // id: "13",
187 | // // initiator: "rey",
188 | // // deliverer: "toubar",
189 | // // from: "alberto",
190 | // // to: "rey",
191 | // // description: "Novakovych 8",
192 | // // tokens: 12,
193 | // // },
194 | // // {
195 | // // status: "IN_PROGRESS",
196 | // // id: "14",
197 | // // initiator: "rey",
198 | // // deliverer: "toubar",
199 | // // from: "alberto",
200 | // // to: "rey",
201 | // // description: "Novakovych 8",
202 | // // tokens: 12,
203 | // // },
204 | // ];
205 |
206 | onNewDeliveryButtonTap = () => {
207 | this.routerExtensions.navigate(["/new-delivery-form"], {clearHistory: false});
208 | };
209 |
210 | onItemTap = (args: ItemEventData) => {
211 | dialogs.confirm({
212 | // TODO - change dummy data to HTTP response
213 | title: "Delivery details",
214 | message: this.deliveries[args.index].description,
215 | okButtonText: "Take delivery",
216 | cancelButtonText: "Cancel",
217 | }).then((willDeliver: boolean) => {
218 | willDeliver ?
219 | this.takeDelivery(args.index, appSettings.getString(Constant.WALLET_KEY))
220 | :
221 | console.log("delivery will not be taken");
222 | });
223 | }
224 |
225 | }
226 |
--------------------------------------------------------------------------------