GUI starting point

Change-Id: Ic7d23bfce0307c4b7cfc9fad9fb5834286ee195c
diff --git a/src/app/hello.html b/src/app/hello.html
new file mode 100644
index 0000000..2ec8382
--- /dev/null
+++ b/src/app/hello.html
@@ -0,0 +1 @@
+<h1>{{ hello }}</h1>
\ No newline at end of file
diff --git a/src/app/hello.spec.ts b/src/app/hello.spec.ts
new file mode 100644
index 0000000..7e3b2cc
--- /dev/null
+++ b/src/app/hello.spec.ts
@@ -0,0 +1,22 @@
+/// <reference path="../../typings/index.d.ts"/>
+
+import {HelloComponent} from './hello';
+import {TestBed, async} from '@angular/core/testing';
+
+describe('hello component', () => {
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [
+        HelloComponent
+      ]
+    });
+    TestBed.compileComponents();
+  }));
+
+  it('should render hello world', () => {
+    const fixture = TestBed.createComponent(HelloComponent);
+    fixture.detectChanges();
+    const hello = fixture.nativeElement;
+    expect(hello.querySelector('h1').textContent).toBe('Hello World!');
+  });
+});
diff --git a/src/app/hello.ts b/src/app/hello.ts
new file mode 100644
index 0000000..9f42916
--- /dev/null
+++ b/src/app/hello.ts
@@ -0,0 +1,13 @@
+import {Component} from '@angular/core';
+
+@Component({
+  selector: 'fountain-app',
+  template: require('./hello.html')
+})
+export class HelloComponent {
+  public hello: string;
+
+  constructor() {
+    this.hello = 'Hello World!';
+  }
+}
diff --git a/src/app/index.ts b/src/app/index.ts
new file mode 100644
index 0000000..5f02fe6
--- /dev/null
+++ b/src/app/index.ts
@@ -0,0 +1,18 @@
+import {NgModule} from '@angular/core';
+import {BrowserModule} from '@angular/platform-browser';
+import {routing, RootComponent} from './routes';
+
+import {HelloComponent} from './hello';
+
+@NgModule({
+  imports: [
+    BrowserModule,
+    routing
+  ],
+  declarations: [
+    RootComponent,
+    HelloComponent
+  ],
+  bootstrap: [RootComponent]
+})
+export class AppModule {}
diff --git a/src/app/routes.ts b/src/app/routes.ts
new file mode 100644
index 0000000..9a197e7
--- /dev/null
+++ b/src/app/routes.ts
@@ -0,0 +1,20 @@
+/// <reference path="../../typings/index.d.ts"/>
+
+import {Component} from '@angular/core';
+import {RouterModule, Routes} from '@angular/router';
+import {HelloComponent} from './hello';
+
+@Component({
+  selector: 'fountain-root',
+  template: '<router-outlet></router-outlet>'
+})
+export class RootComponent {}
+
+export const routes: Routes = [
+  {
+    path: '',
+    component: HelloComponent
+  }
+];
+
+export const routing = RouterModule.forRoot(routes);