diff --git a/user-app/src/app/app-routing.module.ts b/user-app/src/app/app-routing.module.ts
index 0abcce6..33b9b07 100644
--- a/user-app/src/app/app-routing.module.ts
+++ b/user-app/src/app/app-routing.module.ts
@@ -7,7 +7,29 @@ import { UserDetailComponent } from './pages/user-detail/user-detail.component';
import { CreateUserComponent } from './pages/create-user/create-user.component';
import { AuthGuard } from './guards/auth.guard';
-const routes: Routes = [];
+const routes: Routes = [
+ {
+ path:"",
+ component :UserListComponent,
+ },
+ {
+ path: "about-us",
+ component: AboutUsComponent,
+ },
+ {
+ path: "contact",
+ component: ContactComponent,
+ },
+ {
+ path: "create-user",
+ component: CreateUserComponent,
+ },
+ {
+ path: "user-detail",
+ component: UserDetailComponent,
+ },
+
+];
@NgModule({
imports: [RouterModule.forRoot(routes)],
diff --git a/user-app/src/app/pages/app/app.component.html b/user-app/src/app/pages/app/app.component.html
index c6e9877..8ef8dc5 100644
--- a/user-app/src/app/pages/app/app.component.html
+++ b/user-app/src/app/pages/app/app.component.html
@@ -1,6 +1,23 @@
-
+
+
+
+
+
\ No newline at end of file
diff --git a/user-app/src/app/pages/app/app.component.scss b/user-app/src/app/pages/app/app.component.scss
index 8b13789..14458bd 100644
--- a/user-app/src/app/pages/app/app.component.scss
+++ b/user-app/src/app/pages/app/app.component.scss
@@ -1 +1,10 @@
+.normal {
+ font-size: 15px;
+ color: blue;
+}
+
+.error {
+ font-size: 18px;
+ color:red;
+}
\ No newline at end of file
diff --git a/user-app/src/app/pages/app/app.component.ts b/user-app/src/app/pages/app/app.component.ts
index ba8e2e0..6f98642 100644
--- a/user-app/src/app/pages/app/app.component.ts
+++ b/user-app/src/app/pages/app/app.component.ts
@@ -5,4 +5,31 @@ import { Component } from '@angular/core';
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
})
-export class AppComponent {}
+export class AppComponent {
+ name : String = "Johnson";
+ show : boolean =true;
+ names = ['Arun', 'Mark', 'Smith', 'Jack'];
+ isError : boolean = true;
+ username : String ="";
+ constructor() {
+ console.log('Constructor called');
+ }
+
+ changeName()
+{
+ this.name="steve";
+ console.log(this.username);
+}
+ ngOnChanges() {
+ console.log('on changes called');
+ }
+
+ ngOnInit() {
+ console.log('on init called');
+ }
+
+ ngOnDestroy() {
+ console.log('on destroy called');
+ }
+}
+
diff --git a/user-app/src/app/pages/create-user/create-user.component.html b/user-app/src/app/pages/create-user/create-user.component.html
index b772924..7b259cf 100644
--- a/user-app/src/app/pages/create-user/create-user.component.html
+++ b/user-app/src/app/pages/create-user/create-user.component.html
@@ -1,11 +1,43 @@
+
+
\ No newline at end of file
diff --git a/user-app/src/app/pages/create-user/create-user.component.ts b/user-app/src/app/pages/create-user/create-user.component.ts
index 92e4498..97b58df 100644
--- a/user-app/src/app/pages/create-user/create-user.component.ts
+++ b/user-app/src/app/pages/create-user/create-user.component.ts
@@ -7,4 +7,38 @@ import { FormBuilder, FormGroup, Validators } from '@angular/forms';
templateUrl: './create-user.component.html',
styleUrls: ['./create-user.component.scss'],
})
-export class CreateUserComponent {}
+export class CreateUserComponent {
+ hasError: boolean = false;
+ userFormBuilder: FormGroup;
+
+ constructor(private readonly formBuilder: FormBuilder,private userService: UserService) {
+ this.userFormBuilder = this.formBuilder.group({
+ emailId: formBuilder.control("", [Validators.required, Validators.email]),
+ name: formBuilder.control("", [Validators.required]),
+ phoneNumber: formBuilder.control("", [Validators.required]),
+ companyName: formBuilder.control("", [Validators.required]),
+ city: formBuilder.control("", [Validators.required]),
+ street: formBuilder.control("", [Validators.required]),
+ zipCode: formBuilder.control("", [Validators.required]),
+ });
+ }
+
+ addUser() {
+ this.hasError = false;
+ if (this.userFormBuilder.valid) {
+ this.userService.addUser({
+ id: Math.floor(Math.random() * 10),
+ name: this.userFormBuilder.controls['name'].value,
+ emailId: this.userFormBuilder.controls['emailId'].value,
+ phoneNumber: this.userFormBuilder.controls['phoneNumber'].value,
+ companyName: this.userFormBuilder.controls['companyName'].value,
+ street: this.userFormBuilder.controls['street'].value,
+ city: this.userFormBuilder.controls['city'].value,
+ zipCode: this.userFormBuilder.controls['zipCode'].value,
+ });
+ } else {
+ this.hasError = true;
+ }
+ }
+
+}
diff --git a/user-app/src/app/pages/header/header.component.html b/user-app/src/app/pages/header/header.component.html
index ad4f732..10c986f 100644
--- a/user-app/src/app/pages/header/header.component.html
+++ b/user-app/src/app/pages/header/header.component.html
@@ -1 +1,17 @@
-
Header Works
+
+
\ No newline at end of file
diff --git a/user-app/src/app/pages/header/header.component.ts b/user-app/src/app/pages/header/header.component.ts
index 7082d31..bfbd613 100644
--- a/user-app/src/app/pages/header/header.component.ts
+++ b/user-app/src/app/pages/header/header.component.ts
@@ -1,8 +1,14 @@
-import { Component } from '@angular/core';
+import { Component,Input,Output,EventEmitter } from '@angular/core';
@Component({
selector: 'app-header',
templateUrl: './header.component.html',
styleUrls: ['./header.component.scss'],
})
-export class HeaderComponent {}
+export class HeaderComponent {
+ @Input() title :String;
+ @Output() changevalue = new EventEmitter
+ onClick(){
+ this.changevalue.emit();
+ }
+}
diff --git a/user-app/src/app/pages/user-card/user-card.component.html b/user-app/src/app/pages/user-card/user-card.component.html
index c05cd52..81bfb2c 100644
--- a/user-app/src/app/pages/user-card/user-card.component.html
+++ b/user-app/src/app/pages/user-card/user-card.component.html
@@ -1,3 +1,10 @@
-
User Card works
+
+
{{ emailId }}
+
{{ city }}
+
+
+
diff --git a/user-app/src/app/pages/user-card/user-card.component.ts b/user-app/src/app/pages/user-card/user-card.component.ts
index 8a5b52a..b31bfeb 100644
--- a/user-app/src/app/pages/user-card/user-card.component.ts
+++ b/user-app/src/app/pages/user-card/user-card.component.ts
@@ -6,4 +6,22 @@ import { UserService } from 'src/app/services/user.service';
templateUrl: './user-card.component.html',
styleUrls: ['./user-card.component.scss'],
})
-export class UserCardComponent {}
+export class UserCardComponent {
+ @Input() id: number;
+@Input() name: string;
+@Input() emailId: string;
+@Input() city: string;
+
+@Output() deleteUser = new EventEmitter();
+
+constructor(public userService: UserService) {}
+
+setUserId(id: number) {
+ this.userService.userId = id
+}
+
+deleteUserById(id) {
+ this.deleteUser.emit(id);
+}
+
+}
diff --git a/user-app/src/app/pages/user-detail/user-detail.component.html b/user-app/src/app/pages/user-detail/user-detail.component.html
index 8a5c8b6..b8fe20e 100644
--- a/user-app/src/app/pages/user-detail/user-detail.component.html
+++ b/user-app/src/app/pages/user-detail/user-detail.component.html
@@ -1,3 +1,21 @@
-
User Detail Works
+
+
{{ userDetail.name }}
+
+
+
+
+
Address
+
+
+
+
+
+
+ Unable to show the data
+
+
diff --git a/user-app/src/app/pages/user-detail/user-detail.component.ts b/user-app/src/app/pages/user-detail/user-detail.component.ts
index 40af64c..968ac6c 100644
--- a/user-app/src/app/pages/user-detail/user-detail.component.ts
+++ b/user-app/src/app/pages/user-detail/user-detail.component.ts
@@ -7,4 +7,41 @@ import { UserService } from 'src/app/services/user.service';
templateUrl: './user-detail.component.html',
styleUrls: ['./user-detail.component.scss'],
})
-export class UserDetailComponent {}
+export class UserDetailComponent {
+ userDetail: UserDetail = {
+ id: this.userService.userId,
+ name: '',
+ city: '',
+ companyName: '',
+ emailId: '',
+ phoneNumber: '',
+ street: '',
+ zipCode: '',
+ };
+
+ hasError: boolean = false;
+
+ constructor(private userService: UserService) {}
+
+ ngOnInit() {
+ this.hasError = false;
+ this.userService.getUserDetail(this.userService.userId).subscribe({
+ next: (response: any) => {
+ console.log('user detail response', response);
+ this.userDetail.name = response.name;
+ this.userDetail.emailId = response.email;
+ this.userDetail.city = response.address.city;
+ this.userDetail.companyName = response.company.name;
+ this.userDetail.phoneNumber = response.phone;
+ this.userDetail.zipCode = response.address.zipcode;
+ this.userDetail.street = response.address.street;
+ },
+ error: (error) => {
+ this.hasError = true;
+ console.log('user detail error', error);
+ },
+ });
+ }
+
+
+}
diff --git a/user-app/src/app/pages/user-list/user-list.component.html b/user-app/src/app/pages/user-list/user-list.component.html
index 9326de9..80b0f82 100644
--- a/user-app/src/app/pages/user-list/user-list.component.html
+++ b/user-app/src/app/pages/user-list/user-list.component.html
@@ -1,3 +1,9 @@
-
User List Works
+
User List Works
+
+
\ No newline at end of file
diff --git a/user-app/src/app/pages/user-list/user-list.component.ts b/user-app/src/app/pages/user-list/user-list.component.ts
index 60cb003..be8e54d 100644
--- a/user-app/src/app/pages/user-list/user-list.component.ts
+++ b/user-app/src/app/pages/user-list/user-list.component.ts
@@ -7,4 +7,32 @@ import { UserService } from 'src/app/services/user.service';
templateUrl: './user-list.component.html',
styleUrls: ['./user-list.component.scss'],
})
-export class UserListComponent {}
+export class UserListComponent {
+ /*users :User[] = [
+ {
+ name : 'Johnson',
+ city : 'Mangalore',
+ emailId: 'johnson@gmail.com',
+ id:1,
+ },
+ {
+ name : 'shaaa',
+ city : 'kutthi',
+ emailId: 'shaaa@gmail.com',
+ id:1,
+ },
+ {
+ name : 'Jithin',
+ city : 'baindoor',
+ emailId: 'jithin@gmail.com',
+ id:1,
+ },
+ ]*/
+ constructor (public userService:UserService){}
+ ngOnInit()
+ {
+ this.userService.getUsers();
+ }
+}
+
+
diff --git a/user-app/src/app/services/user.service.ts b/user-app/src/app/services/user.service.ts
index 0160cc5..d6750f6 100644
--- a/user-app/src/app/services/user.service.ts
+++ b/user-app/src/app/services/user.service.ts
@@ -1,4 +1,5 @@
import { Injectable } from '@angular/core';
+import { HttpClient } from "@angular/common/http";
import { User, UserDetail } from '../model/common.dto';
@Injectable({
@@ -7,19 +8,31 @@ import { User, UserDetail } from '../model/common.dto';
export class UserService {
baseUrl: string = 'https://jsonplaceholder.typicode.com/users';
userId: number;
- users: User[] = [];
+ users:any= [];
- constructor() {}
+ constructor(private http:HttpClient) {}
userAleadyAdded(): boolean {
return true;
}
- getUsers(): void {}
+ getUsers(): void {
+ this.http.get(this.baseUrl).subscribe((res)=> {
+ console.log(res);
+ this.users = res;
+ })
+}
+
- getUserDetail(id: number) {}
- addUser(user: UserDetail): void {}
+
+ getUserDetail(id: number){
+ return this.http.get(this.baseUrl + '/' + id);
+ }
+
+ addUser(user: UserDetail) : void {}
deleteUser(id: number): void {}
}
+
+