diff --git a/API/db/app.db b/API/db/app.db
index 671911cb6f7390377502a4f6cd0a15a7f91b4a6d..e85f4c448850ec4990b567bd869ec13c5a97fb75 100644
Binary files a/API/db/app.db and b/API/db/app.db differ
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 069da342a6c217dcf6161c4fb8c22379b64749cb..559633c411d4d96f38f37040cb6f654bcbaca076 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -16,6 +16,7 @@
         "@angular/platform-browser": "^16.0.0",
         "@angular/platform-browser-dynamic": "^16.0.0",
         "@angular/router": "^16.0.0",
+        "jwt-decode": "^3.1.2",
         "rxjs": "~7.8.0",
         "tslib": "^2.3.0",
         "zone.js": "~0.13.0"
@@ -7093,6 +7094,11 @@
         "node >= 0.2.0"
       ]
     },
+    "node_modules/jwt-decode": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz",
+      "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A=="
+    },
     "node_modules/karma": {
       "version": "6.4.2",
       "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.2.tgz",
diff --git a/frontend/package.json b/frontend/package.json
index 37a3b576f58860939a71d56ad0f6f484bea4baab..dfaff1bfc9a170a42c0e2f295a29e27db3df6960 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -18,6 +18,7 @@
     "@angular/platform-browser": "^16.0.0",
     "@angular/platform-browser-dynamic": "^16.0.0",
     "@angular/router": "^16.0.0",
+    "jwt-decode": "^3.1.2",
     "rxjs": "~7.8.0",
     "tslib": "^2.3.0",
     "zone.js": "~0.13.0"
diff --git a/frontend/src/app/admin/admin.component.html b/frontend/src/app/admin/admin.component.html
index 3b2c5bb006fa4c4f6018498841123fe76def85ef..ad5e3e325b61733eb9b346b2f9b8c8b54a97806f 100644
--- a/frontend/src/app/admin/admin.component.html
+++ b/frontend/src/app/admin/admin.component.html
@@ -7,6 +7,7 @@
         <tr *ngFor="let user of users">
             <td>{{user.username}}</td>
             <td>{{user.type}}</td>
+            <td><button>UPDATE</button></td>
             <td><button (click)="deleteUser(user)">DELETE</button></td>
         </tr>
     </tbody>
@@ -21,6 +22,8 @@
         <tr *ngFor="let question of questions">
             <td>{{question.question}}</td>
             <td>{{question.category}}</td>
+            <td>UPDATE</td>
+            <td>DELETE</td>
         </tr>
     </tbody>
 </table>
\ No newline at end of file
diff --git a/frontend/src/app/admin/admin.component.ts b/frontend/src/app/admin/admin.component.ts
index 0c5daffcdb8cf9d5e03ff664fcfef52b86df91a8..e899c1c4e64276e714c9fbc81d4e1dfb7fb50d68 100644
--- a/frontend/src/app/admin/admin.component.ts
+++ b/frontend/src/app/admin/admin.component.ts
@@ -1,10 +1,8 @@
 import { Component, OnInit } from '@angular/core';
-import { Router } from '@angular/router';
-import { HttpClient, HttpHeaders } from '@angular/common/http';
+import { HttpClient } from '@angular/common/http';
 import { Answer, QandA, Question, User } from '../Types/types';
 import { UsersService } from '../services/users.service';
 
-
 @Component({
   selector: 'app-admin',
   templateUrl: './admin.component.html',
@@ -17,13 +15,11 @@ export class AdminComponent implements OnInit {
     public answers: Answer[] = [];
 
     constructor(
-      private router: Router,
       private http: HttpClient,
       private userController: UsersService) { }
 
     ngOnInit(): void {
       
-      
       this.http.get("http://0.0.0.0:30992/API/v1/user")
       .subscribe(users => {
         this.users = users as User[];
@@ -37,5 +33,7 @@ export class AdminComponent implements OnInit {
       });
     }
 
-    deleteUser(user:User) {this.userController.deleteUser(user)}
+    deleteUser(user:User) {
+      this.userController.deleteUser(user);
+    }
 }
diff --git a/frontend/src/app/app.component.css b/frontend/src/app/app.component.css
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..b32cb712e72d845e8259289f3255ca0f8e730589 100644
--- a/frontend/src/app/app.component.css
+++ b/frontend/src/app/app.component.css
@@ -0,0 +1,12 @@
+nav {
+    position: sticky;
+    top: 0;
+    width: 100%;
+    background-color: #3f51b5;
+    color: #fff;
+    display: flex;
+    padding: 0 16px;
+    align-items: center;
+    height: 56px;
+    font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;
+  }
\ No newline at end of file
diff --git a/frontend/src/app/app.component.html b/frontend/src/app/app.component.html
index c924de09fa8154edc5d3d6f7913caa47bc3dce5c..81ffc2d227692a6a6de3140f36bd653dfd182605 100644
--- a/frontend/src/app/app.component.html
+++ b/frontend/src/app/app.component.html
@@ -1,7 +1,11 @@
 <nav>
-    <button (click)="loginButton()">Login</button>
-    <button (click)="logoutButton()">Logout</button>
-    <button (click)="signupButton()">Sign Up</button>
+    NAVBAR
+    <button (click)="router.navigateByUrl('/');">Home</button>
+    <button *ngIf="auth.isAdmin()" (click)="router.navigateByUrl('/admin')">Dashboard</button>
+    <button *ngIf="!auth.isLoggedIn()" (click)="router.navigateByUrl('/login')">Login</button>
+    <button *ngIf="auth.isLoggedIn()" (click)="auth.logout()">Logout</button>
+    <button *ngIf="!auth.isLoggedIn()" (click)="router.navigateByUrl('/signup')">Sign Up</button>
+    <label >{{auth.getUsername()}}</label>
 </nav>
 
 <router-outlet>
diff --git a/frontend/src/app/app.component.ts b/frontend/src/app/app.component.ts
index e75289b7bc08b0523f39977445fe8ea115b3620f..0e30aeb4cae4d70cacc3954f4eb7435d14494240 100644
--- a/frontend/src/app/app.component.ts
+++ b/frontend/src/app/app.component.ts
@@ -11,20 +11,6 @@ export class AppComponent {
   title = 'frontend';
 
   constructor(
-    private router: Router,
-    private auth: AuthenticationService) {}
-
-  loginButton() {
-    this.router.navigateByUrl("/login");
-  }
-
-  logoutButton() {
-    this.auth.logout();
-    this.router.navigateByUrl("/");
-  }
-
-  signupButton() {
-    this.router.navigateByUrl("/signup");
-  }
-
+    public router: Router,
+    public auth: AuthenticationService) {}
 }
diff --git a/frontend/src/app/services/authentication.service.ts b/frontend/src/app/services/authentication.service.ts
index 4e1383e9d10c61872841692063308e82268bc8ea..942f8b6b641464ccaa19138039a91bfcc9eae5d0 100644
--- a/frontend/src/app/services/authentication.service.ts
+++ b/frontend/src/app/services/authentication.service.ts
@@ -1,6 +1,8 @@
 import { Injectable } from '@angular/core';
 import { HttpClient, HttpHeaders } from '@angular/common/http';
 import { Router } from '@angular/router';
+import jwtDecode from 'jwt-decode';
+import { User } from '../Types/types';
 
 @Injectable({
   providedIn: 'root'
@@ -43,4 +45,29 @@ export class AuthenticationService {
     localStorage.removeItem("token");
     this.router.navigateByUrl("/");
   }
+
+  private getDecodedAccessToken(): User {
+    try {
+      return jwtDecode(localStorage.getItem("token")) as User;
+    } catch(Error) {
+      return null;
+    }
+  }
+
+  isAdmin(): Boolean {
+    const user = this.getDecodedAccessToken() as User;
+    
+    if (user === null)
+      return false;
+    return user.type === 'admin';
+  }
+
+  getUsername(): string {
+    const user = this.getDecodedAccessToken() as User;
+
+    if(user === null)
+      return "Guest";
+    return user.username;
+  }
+
 }