+
+
+
+
+
+
+
{{ title }} app is running!
+
+
+
+
+
+
+
Resources
+
Here are some links to help you get started:
+
+
+
+
+
Next Steps
+
What do you want to do next with your app?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Run and Watch Tests
+
+
+
+
+
+
Build for Production
+
+
+
+
+
+
ng generate component xyz
+
ng add @angular/material
+
ng add @angular/pwa
+
ng add _____
+
ng test
+
ng build --prod
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ExpenseTracker.Client/expense-tracker/src/app/app.component.spec.ts b/ExpenseTracker.Client/expense-tracker/src/app/app.component.spec.ts
new file mode 100644
index 0000000..a78f379
--- /dev/null
+++ b/ExpenseTracker.Client/expense-tracker/src/app/app.component.spec.ts
@@ -0,0 +1,31 @@
+import { TestBed } from '@angular/core/testing';
+import { AppComponent } from './app.component';
+
+describe('AppComponent', () => {
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [
+ AppComponent
+ ],
+ }).compileComponents();
+ });
+
+ it('should create the app', () => {
+ const fixture = TestBed.createComponent(AppComponent);
+ const app = fixture.componentInstance;
+ expect(app).toBeTruthy();
+ });
+
+ it(`should have as title 'expense-tracker'`, () => {
+ const fixture = TestBed.createComponent(AppComponent);
+ const app = fixture.componentInstance;
+ expect(app.title).toEqual('expense-tracker');
+ });
+
+ it('should render title', () => {
+ const fixture = TestBed.createComponent(AppComponent);
+ fixture.detectChanges();
+ const compiled = fixture.nativeElement;
+ expect(compiled.querySelector('.content span').textContent).toContain('expense-tracker app is running!');
+ });
+});
diff --git a/ExpenseTracker.Client/expense-tracker/src/app/app.component.ts b/ExpenseTracker.Client/expense-tracker/src/app/app.component.ts
new file mode 100644
index 0000000..11b08b3
--- /dev/null
+++ b/ExpenseTracker.Client/expense-tracker/src/app/app.component.ts
@@ -0,0 +1,10 @@
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'app-root',
+ templateUrl: './app.component.html',
+ styleUrls: ['./app.component.css']
+})
+export class AppComponent {
+ title = 'expense-tracker';
+}
diff --git a/ExpenseTracker.Client/expense-tracker/src/app/app.module.ts b/ExpenseTracker.Client/expense-tracker/src/app/app.module.ts
new file mode 100644
index 0000000..f657163
--- /dev/null
+++ b/ExpenseTracker.Client/expense-tracker/src/app/app.module.ts
@@ -0,0 +1,16 @@
+import { BrowserModule } from '@angular/platform-browser';
+import { NgModule } from '@angular/core';
+
+import { AppComponent } from './app.component';
+
+@NgModule({
+ declarations: [
+ AppComponent
+ ],
+ imports: [
+ BrowserModule
+ ],
+ providers: [],
+ bootstrap: [AppComponent]
+})
+export class AppModule { }
diff --git a/ExpenseTracker.Client/expense-tracker/src/assets/.gitkeep b/ExpenseTracker.Client/expense-tracker/src/assets/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/ExpenseTracker.Client/expense-tracker/src/environments/environment.prod.ts b/ExpenseTracker.Client/expense-tracker/src/environments/environment.prod.ts
new file mode 100644
index 0000000..3612073
--- /dev/null
+++ b/ExpenseTracker.Client/expense-tracker/src/environments/environment.prod.ts
@@ -0,0 +1,3 @@
+export const environment = {
+ production: true
+};
diff --git a/ExpenseTracker.Client/expense-tracker/src/environments/environment.ts b/ExpenseTracker.Client/expense-tracker/src/environments/environment.ts
new file mode 100644
index 0000000..7b4f817
--- /dev/null
+++ b/ExpenseTracker.Client/expense-tracker/src/environments/environment.ts
@@ -0,0 +1,16 @@
+// This file can be replaced during build by using the `fileReplacements` array.
+// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
+// The list of file replacements can be found in `angular.json`.
+
+export const environment = {
+ production: false
+};
+
+/*
+ * For easier debugging in development mode, you can import the following file
+ * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
+ *
+ * This import should be commented out in production mode because it will have a negative impact
+ * on performance if an error is thrown.
+ */
+// import 'zone.js/dist/zone-error'; // Included with Angular CLI.
diff --git a/ExpenseTracker.Client/expense-tracker/src/favicon.ico b/ExpenseTracker.Client/expense-tracker/src/favicon.ico
new file mode 100644
index 0000000..997406a
Binary files /dev/null and b/ExpenseTracker.Client/expense-tracker/src/favicon.ico differ
diff --git a/ExpenseTracker.Client/expense-tracker/src/index.html b/ExpenseTracker.Client/expense-tracker/src/index.html
new file mode 100644
index 0000000..80a00b0
--- /dev/null
+++ b/ExpenseTracker.Client/expense-tracker/src/index.html
@@ -0,0 +1,13 @@
+
+
+
+