Skip to content

Commit 8b854a1

Browse files
author
Sanjeev Ghimire
committed
Added option two select APIs. cleaned up code.
1 parent f460b57 commit 8b854a1

15 files changed

+781
-864
lines changed

src/app/app.module.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { BrowserModule } from '@angular/platform-browser';
22
import { NgModule } from '@angular/core';
3-
import { HttpService } from './http.service'
4-
import { HereService } from './here.service'
3+
import { HttpService } from './http.service';
54
import { HttpClientModule, HttpClient } from '@angular/common/http'
65
import { FormsModule } from '@angular/forms';
76
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
@@ -39,7 +38,7 @@ import { ViewEntryComponent } from './view-entry/view-entry.component';
3938
apiKey: 'AIzaSyAM0KXiz3xTv9KAvnOIdm5J0Agnwp3_lOI'
4039
})
4140
],
42-
providers: [HttpService,HereService],
41+
providers: [HttpService],
4342
bootstrap: [AppComponent]
4443
})
4544
export class AppModule { }

src/app/header/header.component.html

Lines changed: 24 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,24 @@
1-
2-
3-
<nav id="page-top" class="navbar navbar-dark navbar-expand bg-dark shadow mb-4 topbar static-top" >
4-
5-
<div class="container-fluid">
6-
<a class="navbar-brand" [routerLink]="['']">House2Home</a>
7-
<ul class="nav navbar-nav flex-nowrap ml-auto">
8-
<li class="nav-item no-arrow" role="presentation">
9-
<li class="nav-item no-arrow">
10-
<a class=" nav-link" aria-expanded="false" [routerLink]="['']">
11-
<span class="d-none d-lg-inline mr-2 text-gray-600 small">Load</span> </a>
12-
</li>
13-
<div class="d-none d-sm-block topbar-divider"></div>
14-
<li class="nav-item no-arrow" role="presentation">
15-
<li class="nav-item no-arrow">
16-
<a class=" nav-link" aria-expanded="false" [routerLink]="['/viewData']">
17-
<span class="d-none d-lg-inline mr-2 text-gray-600 small">View/Manage</span> </a>
18-
</li>
19-
<div class="d-none d-sm-block topbar-divider"></div>
20-
<li class="nav-item no-arrow" role="presentation">
21-
<li class="nav-item no-arrow">
22-
<a class=" nav-link" aria-expanded="false" [routerLink]="['/predictData']">
23-
<span class="d-none d-lg-inline mr-2 text-gray-600 small">Predict</span> </a>
24-
</li>
25-
</ul>
26-
</div>
27-
</nav>
1+
<nav id="page-top" class="navbar navbar-dark navbar-expand bg-dark shadow mb-4 topbar static-top">
2+
<div class="container-fluid">
3+
<a class="navbar-brand" [routerLink]="['']">House2Home</a>
4+
<ul class="nav navbar-nav flex-nowrap ml-auto">
5+
<li class="nav-item no-arrow" role="presentation">
6+
<li class="nav-item no-arrow">
7+
<a class=" nav-link" aria-expanded="false" [routerLink]="['']">
8+
<span class="d-none d-lg-inline mr-2 text-gray-600 small">Load</span> </a>
9+
</li>
10+
<div class="d-none d-sm-block topbar-divider"></div>
11+
<li class="nav-item no-arrow" role="presentation">
12+
<li class="nav-item no-arrow">
13+
<a class=" nav-link" aria-expanded="false" [routerLink]="['/viewData']">
14+
<span class="d-none d-lg-inline mr-2 text-gray-600 small">View/Manage</span> </a>
15+
</li>
16+
<div class="d-none d-sm-block topbar-divider"></div>
17+
<li class="nav-item no-arrow" role="presentation">
18+
<li class="nav-item no-arrow">
19+
<a class=" nav-link" aria-expanded="false" [routerLink]="['/predictData']">
20+
<span class="d-none d-lg-inline mr-2 text-gray-600 small">Predict</span> </a>
21+
</li>
22+
</ul>
23+
</div>
24+
</nav>

src/app/here.service.spec.ts

Lines changed: 0 additions & 12 deletions
This file was deleted.

src/app/here.service.ts

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/app/http.service.spec.ts

Lines changed: 0 additions & 15 deletions
This file was deleted.

src/app/http.service.ts

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,61 @@
1-
//@author Rohith Ravindranath
2-
//@version July 10 2019
31
import { Injectable } from '@angular/core';
4-
import {HttpClient,HttpHeaders} from '@angular/common/http'
2+
import { HttpClient, HttpHeaders } from '@angular/common/http';
3+
import { PredictHouseInfo } from './models/predict-house-info';
4+
import { environment } from '../environments/environment';
55

66
@Injectable({
77
providedIn: 'root'
88
})
99

1010
export class HttpService {
1111

12-
GO_HOST_NAME = 'http://localhost:8080/'
13-
NODE_HOST_NAME = 'http://localhost:8888/'
14-
15-
constructor(private _http: HttpClient) {
12+
constructor(private http: HttpClient) {
1613

1714
}
1815

1916
httpOptions = {
20-
headers: new HttpHeaders({
21-
'Content-Type': 'application/json;charset=UTF-8',
22-
'Accept': 'application/json',
23-
})
17+
headers: new HttpHeaders({
18+
'Content-Type': 'application/json;charset=UTF-8',
19+
Accept: 'application/json',
20+
})
2421
};
2522

26-
createNewDataEntry(houseInfo,addressInfo){
23+
createNewDataEntry(houseInfo, addressInfo) {
2724
const payload = JSON.stringify(houseInfo);
2825
const payload2 = JSON.stringify(addressInfo);
29-
return this._http.post(this.NODE_HOST_NAME + 'newDataEntry', {house:payload,address:payload2}, this.httpOptions);
26+
return this.http.post(environment.NODE_HOST + 'newDataEntry', { house: payload, address: payload2 }, this.httpOptions);
3027
}
3128

32-
getDataFromDatabase(number){
33-
return this._http.post(this.NODE_HOST_NAME + 'getData', {num:number},this.httpOptions);
29+
getDataFromDatabase(id) {
30+
return this.http.post(environment.NODE_HOST + 'getData', { num: id }, this.httpOptions);
3431
}
3532

36-
getUniqueDataFromDatabase(id){
37-
return this._http.post(this.NODE_HOST_NAME + 'getUniqueData', {id:id}, this.httpOptions);
33+
getUniqueDataFromDatabase(id) {
34+
return this.http.post(environment.NODE_HOST + 'getUniqueData', { id: id }, this.httpOptions);
3835
}
3936

40-
deleteDataFromDatabase(id){
41-
return this._http.post(this.NODE_HOST_NAME + 'deleteData',{id:id} ,this.httpOptions);
37+
deleteDataFromDatabase(id) {
38+
return this.http.post(environment.NODE_HOST + 'deleteData', { id: id }, this.httpOptions);
4239
}
4340

44-
updateDataEntry(id,houseInfo,addressInfo){
41+
updateDataEntry(id, houseInfo, addressInfo) {
4542
const payload = JSON.stringify(houseInfo);
46-
console.log(payload);
47-
return this._http.post(this.NODE_HOST_NAME + 'updateDataEntry',{id:id,data:houseInfo,addressInfo:addressInfo} ,this.httpOptions);
43+
return this.http.post(environment.NODE_HOST + 'updateDataEntry', { id: id, data: houseInfo, addressInfo: addressInfo }, this.httpOptions);
4844
}
4945

50-
predict(houseInfo){
46+
predict(predictOption: string, houseInfo: PredictHouseInfo) {
5147
const payload = JSON.stringify(houseInfo);
52-
console.log(payload);
53-
return this._http.get(this.NODE_HOST_NAME + 'predict');
48+
let api = '';
49+
if (predictOption.toLowerCase() === 'db2') {
50+
api = environment.GO_DB2_API;
51+
} else {
52+
api = environment.IBM_WML_API;
53+
}
54+
return this.http.post(api, payload, this.httpOptions);
5455
}
5556

56-
getCoordinates(address1, city, state, zipcode){
57-
return this._http.post(this.NODE_HOST_NAME + 'geocode',{address1:address1,city:city, state:state, zipcode:zipcode},this.httpOptions);
57+
getCoordinates(address1, city, state, zipcode) {
58+
return this.http.post(environment.NODE_HOST + 'geocode', { address1: address1, city: city, state: state, zipcode: zipcode }, this.httpOptions);
5859
}
5960

6061
}

src/app/load-data/load-data.component.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ import { AddressInfo } from '../models/address-info';
1414
export class LoadDataComponent implements OnInit {
1515

1616
model: HouseInfo;
17-
addressModel:AddressInfo;
17+
addressModel:AddressInfo;
1818

19+
errPredictOption: boolean;
1920
errLotArea:boolean;
2021
errBldgType:boolean;
2122
errHouseStyle:boolean;
@@ -70,7 +71,7 @@ export class LoadDataComponent implements OnInit {
7071
this.model = new HouseInfo('', 'Select BldgType', 'Select HouseStyle', '', '', '', '', '', '', 'Select KitchenQual', '', 'Select Heating', 'Select HeatingQC', 'Select CentralAir', 'Select Electrical', 'Select RoofStyle', 'Select ExterCond', 'Select Foundation', 'Select BsmtCond', '', 'Select PoolQC', '', 'Select FireplaceQu', 'Select GarageType', 'Select GarageFinish', '', 'Select GarageCond', 'Select Fence', '', '', '');
7172

7273
this.addressModel = new AddressInfo('', ' ', '', '', '', '');
73-
74+
7475
this.errAddress1 = false;
7576
this.errAddress2= false;
7677
this.errCity= false;
@@ -157,7 +158,7 @@ export class LoadDataComponent implements OnInit {
157158
validateInputs(){
158159
this.validate_inputs = true;
159160
if(this.model.bldgType.search('Select') != -1){ this.errBldgType= true; this.validate_inputs=false; }
160-
else{ this.errBldgType= false; }
161+
else{ this.errBldgType= false; }
161162
if(this.model.houseStyle.search('Select') != -1){ this.errHouseStyle= true; this.validate_inputs=false; }
162163
else{ this.errHouseStyle= false; }
163164
if(this.model.kitchenQual.search('Select') != -1){ this.errKitchenQual= true; this.validate_inputs=false; }

src/app/models/house-info.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
//@author Rohith Ravindranath
2-
//@version July 10 2019
31
export class HouseInfo {
42
constructor(
5-
public lotArea:string,
3+
public lotArea: string,
64
public bldgType:string,
75
public houseStyle:string,
86
public overallCond:string,

src/app/models/predict-house-info.ts

Lines changed: 30 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,34 @@
1-
//@author Rohith Ravindranath
2-
//@version July 10 2019
31
export class PredictHouseInfo {
42
constructor(
5-
public address1:string,
6-
public address2:string,
7-
public city:string,
8-
public state:string,
9-
public zipcode:string,
10-
public country:string,
11-
public lotArea:string,
12-
public bldgType:string,
13-
public houseStyle:string,
14-
public overallCond:string,
15-
public yearBuilt:string,
16-
public fullBath:string,
17-
public halfBath:string,
18-
public bedroomAbvGr:string,
19-
public kitchenAbvGr:string,
20-
public kitchenQual:string,
21-
public totalRmsAbvGrd:string,
22-
public heating:string,
23-
public heatingQC:string,
24-
public centralAir:string,
25-
public electrical:string,
26-
public roofStyle:string,
27-
public exterCond:string,
28-
public foundation:string,
29-
public bsmtCond:string,
30-
public poolArea:string,
31-
public poolQC:string,
32-
public fireplaces:string,
33-
public fireplaceQu:string,
34-
public garageType:string,
35-
public garageFinish:string,
36-
public garageCars:string,
37-
public garageCond:string,
38-
public fence:string,
39-
public moSold:string,
40-
public yrSold:string
3+
public lotArea: string,
4+
public bldgType: string,
5+
public houseStyle: string,
6+
public overallCond: string,
7+
public yearBuilt: string,
8+
public fullBath: string,
9+
public halfBath: string,
10+
public bedroomAbvGr: string,
11+
public kitchenAbvGr: string,
12+
public kitchenQual: string,
13+
public totalRmsAbvGrd: string,
14+
public heating: string,
15+
public heatingQC: string,
16+
public centralAir: string,
17+
public electrical: string,
18+
public roofStyle: string,
19+
public exterCond: string,
20+
public foundation: string,
21+
public bsmtCond: string,
22+
public poolArea: string,
23+
public poolQC: string,
24+
public fireplaces: string,
25+
public fireplaceQu: string,
26+
public garageType: string,
27+
public garageFinish: string,
28+
public garageCars: string,
29+
public garageCond: string,
30+
public fence: string,
31+
public moSold: string,
32+
public yrSold: string
4133
) { }
4234
}

0 commit comments

Comments
 (0)