Index: src/app/globals.css
===================================================================
--- src/app/globals.css	(revision 65f7b64a4488d0ab35cde03686d8f46e2980d28e)
+++ src/app/globals.css	(revision 875f7d6526d10ea486ceae45de8b59a66f11aaff)
@@ -1,8 +1,6 @@
 @import "tailwindcss";
+@import "tw-animate-css";
 
-:root {
-  --background: #ffffff;
-  --foreground: #171717;
-}
+@custom-variant dark (&:is(.dark *));
 
 @theme inline {
@@ -11,16 +9,115 @@
   --font-sans: var(--font-geist-sans);
   --font-mono: var(--font-geist-mono);
+  --color-sidebar-ring: var(--sidebar-ring);
+  --color-sidebar-border: var(--sidebar-border);
+  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
+  --color-sidebar-accent: var(--sidebar-accent);
+  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
+  --color-sidebar-primary: var(--sidebar-primary);
+  --color-sidebar-foreground: var(--sidebar-foreground);
+  --color-sidebar: var(--sidebar);
+  --color-chart-5: var(--chart-5);
+  --color-chart-4: var(--chart-4);
+  --color-chart-3: var(--chart-3);
+  --color-chart-2: var(--chart-2);
+  --color-chart-1: var(--chart-1);
+  --color-ring: var(--ring);
+  --color-input: var(--input);
+  --color-border: var(--border);
+  --color-destructive: var(--destructive);
+  --color-accent-foreground: var(--accent-foreground);
+  --color-accent: var(--accent);
+  --color-muted-foreground: var(--muted-foreground);
+  --color-muted: var(--muted);
+  --color-secondary-foreground: var(--secondary-foreground);
+  --color-secondary: var(--secondary);
+  --color-primary-foreground: var(--primary-foreground);
+  --color-primary: var(--primary);
+  --color-popover-foreground: var(--popover-foreground);
+  --color-popover: var(--popover);
+  --color-card-foreground: var(--card-foreground);
+  --color-card: var(--card);
+  --radius-sm: calc(var(--radius) - 4px);
+  --radius-md: calc(var(--radius) - 2px);
+  --radius-lg: var(--radius);
+  --radius-xl: calc(var(--radius) + 4px);
 }
 
-@media (prefers-color-scheme: dark) {
-  :root {
-    --background: #0a0a0a;
-    --foreground: #ededed;
+:root {
+  --radius: 0.625rem;
+  --background: oklch(1 0 0);
+  --foreground: oklch(0.145 0 0);
+  --card: oklch(1 0 0);
+  --card-foreground: oklch(0.145 0 0);
+  --popover: oklch(1 0 0);
+  --popover-foreground: oklch(0.145 0 0);
+  --primary: #0272D1;
+  --primary-foreground: oklch(0.985 0 0);
+  --secondary: oklch(0.97 0 0);
+  --secondary-foreground: oklch(0.205 0 0);
+  --muted: oklch(0.97 0 0);
+  --muted-foreground: oklch(0.556 0 0);
+  --accent: oklch(0.97 0 0);
+  --accent-foreground: oklch(0.205 0 0);
+  --destructive: oklch(0.577 0.245 27.325);
+  --border: oklch(0.922 0 0);
+  --input: oklch(0.922 0 0);
+  --ring: oklch(0.708 0 0);
+  --chart-1: oklch(0.646 0.222 41.116);
+  --chart-2: oklch(0.6 0.118 184.704);
+  --chart-3: oklch(0.398 0.07 227.392);
+  --chart-4: oklch(0.828 0.189 84.429);
+  --chart-5: oklch(0.769 0.188 70.08);
+  --sidebar: oklch(0.985 0 0);
+  --sidebar-foreground: oklch(0.145 0 0);
+  --sidebar-primary: oklch(0.205 0 0);
+  --sidebar-primary-foreground: oklch(0.985 0 0);
+  --sidebar-accent: oklch(0.97 0 0);
+  --sidebar-accent-foreground: oklch(0.205 0 0);
+  --sidebar-border: oklch(0.922 0 0);
+  --sidebar-ring: oklch(0.708 0 0);
+}
+
+.dark {
+  --background: oklch(0.145 0 0);
+  --foreground: oklch(0.985 0 0);
+  --card: oklch(0.205 0 0);
+  --card-foreground: oklch(0.985 0 0);
+  --popover: oklch(0.205 0 0);
+  --popover-foreground: oklch(0.985 0 0);
+  --primary: oklch(0.922 0 0);
+  --primary-foreground: oklch(0.205 0 0);
+  --secondary: oklch(0.269 0 0);
+  --secondary-foreground: oklch(0.985 0 0);
+  --muted: oklch(0.269 0 0);
+  --muted-foreground: oklch(0.708 0 0);
+  --accent: oklch(0.269 0 0);
+  --accent-foreground: oklch(0.985 0 0);
+  --destructive: oklch(0.704 0.191 22.216);
+  --border: oklch(1 0 0 / 10%);
+  --input: oklch(1 0 0 / 15%);
+  --ring: oklch(0.556 0 0);
+  --chart-1: oklch(0.488 0.243 264.376);
+  --chart-2: oklch(0.696 0.17 162.48);
+  --chart-3: oklch(0.769 0.188 70.08);
+  --chart-4: oklch(0.627 0.265 303.9);
+  --chart-5: oklch(0.645 0.246 16.439);
+  --sidebar: oklch(0.205 0 0);
+  --sidebar-foreground: oklch(0.985 0 0);
+  --sidebar-primary: oklch(0.488 0.243 264.376);
+  --sidebar-primary-foreground: oklch(0.985 0 0);
+  --sidebar-accent: oklch(0.269 0 0);
+  --sidebar-accent-foreground: oklch(0.985 0 0);
+  --sidebar-border: oklch(1 0 0 / 10%);
+  --sidebar-ring: oklch(0.556 0 0);
+}
+
+@layer base {
+  * {
+    @apply border-border outline-ring/50;
+  }
+  body {
+    @apply text-foreground;
+    background-color: #F4FAFF;
   }
 }
-
-body {
-  background: var(--background);
-  color: var(--foreground);
-  font-family: Arial, Helvetica, sans-serif;
-}
Index: src/app/layout.tsx
===================================================================
--- src/app/layout.tsx	(revision 65f7b64a4488d0ab35cde03686d8f46e2980d28e)
+++ src/app/layout.tsx	(revision 875f7d6526d10ea486ceae45de8b59a66f11aaff)
@@ -2,4 +2,9 @@
 import { Geist, Geist_Mono } from "next/font/google";
 import "./globals.css";
+import '@fortawesome/fontawesome-svg-core/styles.css';
+import { config } from '@fortawesome/fontawesome-svg-core';
+
+// Prevent FontAwesome from adding CSS automatically
+config.autoAddCss = false;
 
 const geistSans = Geist({
@@ -14,6 +19,6 @@
 
 export const metadata: Metadata = {
-  title: "Create Next App",
-  description: "Generated by create next app",
+  title: "IKnow - UKIM",
+  description: "University Managment System used to provide students informations and manage their progress.",
 };
 
@@ -28,5 +33,5 @@
         className={`${geistSans.variable} ${geistMono.variable} antialiased`}
       >
-        {children}
+        <div className="mx-auto max-w-6xl px-4">{children}</div>
       </body>
     </html>
Index: src/app/page.tsx
===================================================================
--- src/app/page.tsx	(revision 65f7b64a4488d0ab35cde03686d8f46e2980d28e)
+++ src/app/page.tsx	(revision 875f7d6526d10ea486ceae45de8b59a66f11aaff)
@@ -1,103 +1,14 @@
 import Image from "next/image";
+import Navbar from "@/components/navbar";
+import Header from "@/components/header";
+import Exams from "@/components/exams";
 
 export default function Home() {
   return (
-    <div className="font-sans grid grid-rows-[20px_1fr_20px] items-center justify-items-center min-h-screen p-8 pb-20 gap-16 sm:p-20">
-      <main className="flex flex-col gap-[32px] row-start-2 items-center sm:items-start">
-        <Image
-          className="dark:invert"
-          src="/next.svg"
-          alt="Next.js logo"
-          width={180}
-          height={38}
-          priority
-        />
-        <ol className="font-mono list-inside list-decimal text-sm/6 text-center sm:text-left">
-          <li className="mb-2 tracking-[-.01em]">
-            Get started by editing{" "}
-            <code className="bg-black/[.05] dark:bg-white/[.06] font-mono font-semibold px-1 py-0.5 rounded">
-              src/app/page.tsx
-            </code>
-            .
-          </li>
-          <li className="tracking-[-.01em]">
-            Save and see your changes instantly.
-          </li>
-        </ol>
-
-        <div className="flex gap-4 items-center flex-col sm:flex-row">
-          <a
-            className="rounded-full border border-solid border-transparent transition-colors flex items-center justify-center bg-foreground text-background gap-2 hover:bg-[#383838] dark:hover:bg-[#ccc] font-medium text-sm sm:text-base h-10 sm:h-12 px-4 sm:px-5 sm:w-auto"
-            href="https://vercel.com/new?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
-            target="_blank"
-            rel="noopener noreferrer"
-          >
-            <Image
-              className="dark:invert"
-              src="/vercel.svg"
-              alt="Vercel logomark"
-              width={20}
-              height={20}
-            />
-            Deploy now
-          </a>
-          <a
-            className="rounded-full border border-solid border-black/[.08] dark:border-white/[.145] transition-colors flex items-center justify-center hover:bg-[#f2f2f2] dark:hover:bg-[#1a1a1a] hover:border-transparent font-medium text-sm sm:text-base h-10 sm:h-12 px-4 sm:px-5 w-full sm:w-auto md:w-[158px]"
-            href="https://nextjs.org/docs?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
-            target="_blank"
-            rel="noopener noreferrer"
-          >
-            Read our docs
-          </a>
-        </div>
-      </main>
-      <footer className="row-start-3 flex gap-[24px] flex-wrap items-center justify-center">
-        <a
-          className="flex items-center gap-2 hover:underline hover:underline-offset-4"
-          href="https://nextjs.org/learn?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
-          target="_blank"
-          rel="noopener noreferrer"
-        >
-          <Image
-            aria-hidden
-            src="/file.svg"
-            alt="File icon"
-            width={16}
-            height={16}
-          />
-          Learn
-        </a>
-        <a
-          className="flex items-center gap-2 hover:underline hover:underline-offset-4"
-          href="https://vercel.com/templates?framework=next.js&utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
-          target="_blank"
-          rel="noopener noreferrer"
-        >
-          <Image
-            aria-hidden
-            src="/window.svg"
-            alt="Window icon"
-            width={16}
-            height={16}
-          />
-          Examples
-        </a>
-        <a
-          className="flex items-center gap-2 hover:underline hover:underline-offset-4"
-          href="https://nextjs.org?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
-          target="_blank"
-          rel="noopener noreferrer"
-        >
-          <Image
-            aria-hidden
-            src="/globe.svg"
-            alt="Globe icon"
-            width={16}
-            height={16}
-          />
-          Go to nextjs.org →
-        </a>
-      </footer>
-    </div>
+    <>
+      <Header></Header>
+      <Navbar></Navbar>
+      <Exams></Exams>
+    </>
   );
 }
Index: src/components/exams.tsx
===================================================================
--- src/components/exams.tsx	(revision 875f7d6526d10ea486ceae45de8b59a66f11aaff)
+++ src/components/exams.tsx	(revision 875f7d6526d10ea486ceae45de8b59a66f11aaff)
@@ -0,0 +1,418 @@
+"use client"
+import { useState } from 'react';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { faSort, faSortUp, faSortDown } from '@fortawesome/free-solid-svg-icons';
+
+const Exams = () => {
+  const [sortField, setSortField] = useState<'grade' | 'date' | null>(null);
+  const [sortOrder, setSortOrder] = useState<'asc' | 'desc' | null>(null);
+  // Real exam data
+  const stats = {
+    average: 8.95,
+    credits: { current: 108, total: 240 },
+    passed: 19,
+    remaining: 22
+  };
+
+  const exams = [
+    {
+      id: 1,
+      code: "F23L1W005",
+      subject: "Бизнис и менаџмент",
+      session: "2024 (Зимска) Прва испитна сесија",
+      date: "21.02.2024",
+      semester: 1,
+      credits: 6.00,
+      type: "З",
+      grade: 7
+    },
+    {
+      id: 2,
+      code: "F23L1W007",
+      subject: "Вовед во компјутерските науки",
+      session: "2024 (Зимска) Прва испитна сесија",
+      date: "06.02.2024",
+      semester: 1,
+      credits: 6.00,
+      type: "З",
+      grade: 10
+    },
+    {
+      id: 3,
+      code: "F23L2W003",
+      subject: "Избрани теми од математика",
+      session: "2024 (Зимска) Прва испитна сесија",
+      date: "12.02.2024",
+      semester: 1,
+      credits: 6.00,
+      type: "З",
+      grade: 9
+    },
+    {
+      id: 4,
+      code: "F23L1W018",
+      subject: "Професионални вештини",
+      session: "2024 (Зимска) Прва испитна сесија",
+      date: "01.02.2024",
+      semester: 1,
+      credits: 4.00,
+      type: "З",
+      grade: 9
+    },
+    {
+      id: 5,
+      code: "F23L1W004",
+      subject: "Спорт и здравје",
+      session: "2024 (Летна) Втора испитна сесија",
+      date: "15.07.2024",
+      semester: 1,
+      credits: 2.00,
+      type: "З",
+      grade: "Реализиран"
+    },
+    {
+      id: 6,
+      code: "F23L1W020",
+      subject: "Структурно програмирање",
+      session: "2024 (Зимска) Прва испитна сесија",
+      date: "12.02.2024",
+      semester: 1,
+      credits: 6.00,
+      type: "З",
+      grade: 10
+    },
+    {
+      id: 7,
+      code: "F23L1S003",
+      subject: "Архитектура и организација на компјутери",
+      session: "2024 (Летна) Втора испитна сесија",
+      date: "03.07.2024",
+      semester: 2,
+      credits: 6.00,
+      type: "З",
+      grade: 9
+    },
+    {
+      id: 8,
+      code: "F23L1S023",
+      subject: "Бизнис статистика",
+      session: "2024 (Летна) Втора испитна сесија",
+      date: "02.07.2024",
+      semester: 2,
+      credits: 6.00,
+      type: "З",
+      grade: 8
+    },
+    {
+      id: 9,
+      code: "F23L1S120",
+      subject: "Креативни вештини за решавање проблеми",
+      session: "2024 (Летна) Втора испитна сесија",
+      date: "25.06.2024",
+      semester: 2,
+      credits: 6.00,
+      type: "И",
+      grade: 10
+    },
+    {
+      id: 10,
+      code: "F23L1S016",
+      subject: "Објектно-ориентирано програмирање",
+      session: "2024 (Летна) Втора испитна сесија",
+      date: "13.07.2024",
+      semester: 2,
+      credits: 6.00,
+      type: "З",
+      grade: 10
+    },
+    {
+      id: 11,
+      code: "F23L1S146",
+      subject: "Основи на Веб дизајн",
+      session: "2024 (Летна) Втора испитна сесија",
+      date: "24.06.2024",
+      semester: 2,
+      credits: 6.00,
+      type: "З",
+      grade: 10
+    },
+    {
+      id: 12,
+      code: "F23L2W100",
+      subject: "Економија за ИКТ инженери",
+      session: "2025 (Зимска) Прва испитна сесија",
+      date: "03.02.2025",
+      semester: 3,
+      credits: 6.00,
+      type: "З",
+      grade: 8
+    },
+    {
+      id: 13,
+      code: "F23L2W109",
+      subject: "Интернет програмирање на клиентска страна",
+      session: "2025 (Зимска) Прва испитна сесија",
+      date: "30.01.2025",
+      semester: 3,
+      credits: 6.00,
+      type: "И",
+      grade: 10
+    },
+    {
+      id: 14,
+      code: "F23L2W014",
+      subject: "Компјутерски мрежи и безбедност",
+      session: "2025 (Зимска) Прва испитна сесија",
+      date: "10.02.2025",
+      semester: 3,
+      credits: 6.00,
+      type: "З",
+      grade: 7
+    },
+    {
+      id: 15,
+      code: "F23L2W201",
+      subject: "Примена на алгоритми и податочни структури",
+      session: "2025 (Зимска) Прва испитна сесија",
+      date: "13.02.2025",
+      semester: 3,
+      credits: 6.00,
+      type: "З",
+      grade: 10
+    },
+    {
+      id: 16,
+      code: "F23L2W167",
+      subject: "Шаблони за дизајн на кориснички интерфејси",
+      session: "2025 (Зимска) Прва испитна сесија",
+      date: "06.02.2025",
+      semester: 3,
+      credits: 6.00,
+      type: "И",
+      grade: 10
+    },
+    {
+      id: 17,
+      code: "F23L2S026",
+      subject: "Маркетинг",
+      session: "2025 (Летна) Втора испитна сесија",
+      date: "12.06.2025",
+      semester: 4,
+      credits: 6.00,
+      type: "З",
+      grade: 8
+    },
+    {
+      id: 18,
+      code: "F23L2S017",
+      subject: "Оперативни системи",
+      session: "2025 (Летна) Втора испитна сесија",
+      date: "19.06.2025",
+      semester: 4,
+      credits: 6.00,
+      type: "З",
+      grade: 7
+    },
+    {
+      id: 19,
+      code: "F23L2S029",
+      subject: "Софтверско инженерство",
+      session: "2025 (Летна) Втора испитна сесија",
+      date: "23.06.2025",
+      semester: 4,
+      credits: 6.00,
+      type: "З",
+      grade: 8
+    }
+  ];
+
+  const getGradeColor = (grade: number | string) => {
+    if (grade === "Реализиран") return "bg-blue-100 text-blue-800 border-blue-200";
+    if (typeof grade === "number") {
+      if (grade >= 9) return "bg-green-100 text-green-800 border-green-200";
+      if (grade >= 8) return "bg-yellow-100 text-yellow-800 border-yellow-200";
+      if (grade >= 6) return "bg-orange-100 text-orange-800 border-orange-200";
+      return "bg-red-100 text-red-800 border-red-200";
+    }
+    return "bg-gray-100 text-gray-800 border-gray-200";
+  };
+
+  const handleSortByGrade = () => {
+    if (sortField === 'grade') {
+      if (sortOrder === 'desc') {
+        setSortOrder('asc');
+      } else if (sortOrder === 'asc') {
+        setSortField(null);
+        setSortOrder(null);
+      } else {
+        setSortOrder('desc');
+      }
+    } else {
+      setSortField('grade');
+      setSortOrder('desc');
+    }
+  };
+
+  const handleSortByDate = () => {
+    if (sortField === 'date') {
+      if (sortOrder === 'desc') {
+        setSortOrder('asc');
+      } else if (sortOrder === 'asc') {
+        setSortField(null);
+        setSortOrder(null);
+      } else {
+        setSortOrder('desc');
+      }
+    } else {
+      setSortField('date');
+      setSortOrder('desc');
+    }
+  };
+
+  const getSortedExams = () => {
+    if (!sortField || !sortOrder) return exams;
+    
+    return [...exams].sort((a, b) => {
+      if (sortField === 'grade') {
+        // Handle "Реализиран" grade separately
+        if (a.grade === "Реализиран" && b.grade === "Реализиран") return 0;
+        if (a.grade === "Реализиран") return sortOrder === 'asc' ? -1 : 1;
+        if (b.grade === "Реализиран") return sortOrder === 'asc' ? 1 : -1;
+        
+        // Handle numeric grades
+        const gradeA = typeof a.grade === 'number' ? a.grade : 0;
+        const gradeB = typeof b.grade === 'number' ? b.grade : 0;
+        
+        return sortOrder === 'asc' ? gradeA - gradeB : gradeB - gradeA;
+      }
+      
+      if (sortField === 'date') {
+        // Convert date strings to Date objects for proper sorting
+        const dateA = new Date(a.date.split('.').reverse().join('-')); // Convert DD.MM.YYYY to YYYY-MM-DD
+        const dateB = new Date(b.date.split('.').reverse().join('-'));
+        
+        return sortOrder === 'asc' ? dateA.getTime() - dateB.getTime() : dateB.getTime() - dateA.getTime();
+      }
+      
+      return 0;
+    });
+  };
+
+  const getSortIcon = (field: 'grade' | 'date') => {
+    if (sortField === field) {
+      if (sortOrder === 'asc') return faSortUp;
+      if (sortOrder === 'desc') return faSortDown;
+    }
+    return faSort;
+  };
+
+  const creditsPercentage = (stats.credits.current / stats.credits.total) * 100;
+
+  return (
+    <div className="bg-white rounded-lg shadow-sm p-6 space-y-6">
+      {/* Statistics Section */}
+      <div className="space-y-4">
+        <div className="grid grid-cols-2 md:grid-cols-4 gap-6">
+          {/* Average Grade */}
+          <div className="text-center">
+            <div className="text-3xl font-bold text-gray-900">{stats.average}</div>
+            <div className="text-sm text-gray-500 mt-1">Просек</div>
+          </div>
+
+          {/* Credits */}
+          <div className="text-center">
+            <div className="text-3xl font-bold text-gray-900">
+              {stats.credits.current}
+              <span className="text-lg text-gray-400">/{stats.credits.total}</span>
+            </div>
+            <div className="text-sm text-gray-500 mt-1">Кредити</div>
+          </div>
+
+          {/* Passed Exams */}
+          <div className="text-center">
+            <div className="text-3xl font-bold text-gray-900">{stats.passed}</div>
+            <div className="text-sm text-gray-500 mt-1">Положени</div>
+          </div>
+
+          {/* Remaining Exams */}
+          <div className="text-center">
+            <div className="text-3xl font-bold text-gray-900">{stats.remaining}</div>
+            <div className="text-sm text-gray-500 mt-1">Останато</div>
+          </div>
+        </div>
+        
+        {/* Progress Bar spanning entire statistics section */}
+        <div className="w-full bg-gray-200 rounded-full h-2">
+          <div 
+            className="bg-blue-500 h-2 rounded-full transition-all duration-300"
+            style={{ width: `${creditsPercentage}%` }}
+          ></div>
+        </div>
+      </div>
+
+      {/* Exams Table */}
+      <div>
+        <h3 className="text-xl font-semibold text-gray-900 mb-4">Испити</h3>
+        
+        <div className="overflow-x-auto">
+          <table className="min-w-full">
+            <thead>
+              <tr className="border-b border-gray-200">
+                <th className="text-left py-3 px-4 text-sm font-medium text-gray-500">#</th>
+                <th className="text-left py-3 px-4 text-sm font-medium text-gray-500">Предмет</th>
+                <th className="text-left py-3 px-4 text-sm font-medium text-gray-500">Семестар</th>
+                <th className="text-left py-3 px-4 text-sm font-medium text-gray-500">Кредити</th>
+                <th className="text-left py-3 px-4 text-sm font-medium text-gray-500">
+                  <button 
+                    onClick={handleSortByDate}
+                    className="flex items-center gap-2 px-2 py-1 rounded-md hover:bg-gray-100 hover:text-gray-900 transition-all duration-200 transform hover:scale-105"
+                  >
+                    Датум
+                    <FontAwesomeIcon 
+                      icon={getSortIcon('date')} 
+                      className={`text-xs transition-colors duration-200 ${
+                        sortField === 'date' ? 'text-blue-600' : 'text-gray-400 group-hover:text-gray-600'
+                      }`}
+                    />
+                  </button>
+                </th>
+                <th className="text-left py-3 px-4 text-sm font-medium text-gray-500">
+                  <button 
+                    onClick={handleSortByGrade}
+                    className="flex items-center gap-2 px-2 py-1 rounded-md hover:bg-gray-100 hover:text-gray-900 transition-all duration-200 transform hover:scale-105"
+                  >
+                    Оценка
+                    <FontAwesomeIcon 
+                      icon={getSortIcon('grade')} 
+                      className={`text-xs transition-colors duration-200 ${
+                        sortField === 'grade' ? 'text-blue-600' : 'text-gray-400 group-hover:text-gray-600'
+                      }`}
+                    />
+                  </button>
+                </th>
+              </tr>
+            </thead>
+            <tbody className="divide-y divide-gray-100">
+              {getSortedExams().map((exam) => (
+                <tr key={exam.id} className="hover:bg-gray-50 transition-colors duration-150">
+                  <td className="py-4 px-4 text-sm text-gray-900">{exam.id}</td>
+                  <td className="py-4 px-4 text-sm text-gray-900 font-medium">{exam.subject}</td>
+                  <td className="py-4 px-4 text-sm text-gray-500">{exam.semester}</td>
+                  <td className="py-4 px-4 text-sm text-gray-500">{exam.credits}</td>
+                  <td className="py-4 px-4 text-sm text-gray-500">{exam.date}</td>
+                  <td className="py-4 px-4">
+                    <span className={`inline-flex items-center px-2.5 py-1 rounded-md text-sm font-medium border ${getGradeColor(exam.grade)}`}>
+                      {exam.grade}
+                    </span>
+                  </td>
+                </tr>
+              ))}
+            </tbody>
+          </table>
+        </div>
+      </div>
+    </div>
+  );
+};
+
+export default Exams;
Index: src/components/header.tsx
===================================================================
--- src/components/header.tsx	(revision 875f7d6526d10ea486ceae45de8b59a66f11aaff)
+++ src/components/header.tsx	(revision 875f7d6526d10ea486ceae45de8b59a66f11aaff)
@@ -0,0 +1,71 @@
+"use client"
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { faUser, faSignOutAlt } from '@fortawesome/free-solid-svg-icons';
+import Image from 'next/image';
+
+const Header = () => {
+  return (
+    <header className="bg-white shadow-sm border-b border-gray-200">
+      <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
+        <div className="flex justify-between items-center py-4">
+          {/* Left side - Logos and University Info */}
+          <div className="flex items-center gap-4">
+            {/* UKIM Logo */}
+            <div className="flex-shrink-0">
+              <Image
+                src="/ukim-logo.png"
+                alt="UKIM Logo"
+                width={40}
+                height={40}
+                className="h-10 w-auto"
+              />
+            </div>
+            
+            {/* FINKI Logo */}
+            <div className="flex-shrink-0">
+              <Image
+                src="/finki-logo.png"
+                alt="FINKI Logo"
+                width={40}
+                height={40}
+                className="h-10 w-auto"
+              />
+            </div>
+            
+            {/* University Text */}
+            <div className="hidden sm:block">
+              <div className="text-gray-900 font-medium text-sm">
+                Универзитет „Св. КИРИЛ И МЕТОДИЈ“ - Скопје
+              </div>
+              <div className="text-gray-700 text-sm">
+                Факултет за информатички науки и компјутерско инженерство
+              </div>
+            </div>
+          </div>
+
+          {/* Right side - User Profile */}
+          <div className="flex items-center gap-4">
+            <div className="flex items-center gap-3">
+              {/* User Avatar */}
+              <div className="flex items-center justify-center w-10 h-10 bg-gray-800 text-white rounded-full">
+                <FontAwesomeIcon icon={faUser} className="text-sm" />
+              </div>
+              
+              {/* User Name */}
+              <div className="hidden sm:block text-gray-900 font-medium">
+                Стефан Савески
+              </div>
+              
+              {/* Logout Button */}
+              <button className="text-blue-600 hover:text-blue-800 font-medium text-sm transition-colors duration-200">
+                Logout
+              </button>
+            </div>
+          </div>
+        </div>
+      </div>
+    </header>
+  );
+};
+
+export default Header;
Index: src/components/navbar.tsx
===================================================================
--- src/components/navbar.tsx	(revision 875f7d6526d10ea486ceae45de8b59a66f11aaff)
+++ src/components/navbar.tsx	(revision 875f7d6526d10ea486ceae45de8b59a66f11aaff)
@@ -0,0 +1,79 @@
+"use client"
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { faUser } from '@fortawesome/free-solid-svg-icons';
+import { faBookmark } from '@fortawesome/free-solid-svg-icons';
+import { faBook } from '@fortawesome/free-solid-svg-icons';
+import { faPenToSquare } from '@fortawesome/free-solid-svg-icons';
+import { faListCheck } from '@fortawesome/free-solid-svg-icons';
+import { faFilePdf } from '@fortawesome/free-solid-svg-icons';
+import { faBars, faTimes, faGraduationCap } from '@fortawesome/free-solid-svg-icons';
+import { useState } from 'react';
+
+const Navbar = () => {
+  const [isMenuOpen, setIsMenuOpen] = useState(false);
+
+  const toggleMenu = () => {
+    setIsMenuOpen(!isMenuOpen);
+  };
+
+  const menuItems = [
+    { icon: faUser, label: 'Профил' },
+    { icon: faBookmark, label: 'Семестри' },
+    { icon: faBook, label: 'Предмети' },
+    { icon: faPenToSquare, label: 'Пријави' },
+    { icon: faListCheck, label: 'Положени' },
+    { icon: faFilePdf, label: 'Документи' }
+  ];
+
+  return (
+    <>
+      {/* Desktop Navbar */}
+      <nav className="hidden md:flex flex-row gap-2 justify-evenly bg-primary text-white p-7 rounded-xl my-5 text-xl">
+        {menuItems.map((item, index) => (
+          <div key={index} className="group flex flex-row items-center gap-2 px-3 py-2 rounded-lg cursor-pointer transition-all duration-300 hover:bg-white hover:bg-opacity-20 hover:scale-105 hover:shadow-lg hover:text-primary">
+            <FontAwesomeIcon icon={item.icon} className="transition-transform duration-300 group-hover:rotate-12" />
+            <span>{item.label}</span>
+          </div>
+        ))}
+      </nav>
+
+      {/* Mobile Navbar */}
+      <nav className="md:hidden bg-primary text-white rounded-xl my-5">
+        <div className="flex justify-between items-center p-4">
+          {/* IKnow Logo/Text */}
+          <div className="flex items-center gap-2 text-xl font-bold">
+            <FontAwesomeIcon icon={faGraduationCap} className="text-xl" />
+            IKnow
+          </div>
+          
+          {/* Hamburger Menu Button */}
+          <button
+            onClick={toggleMenu}
+            className="p-2 rounded-lg hover:bg-white hover:bg-opacity-20 transition-colors duration-300"
+          >
+            <FontAwesomeIcon 
+              icon={isMenuOpen ? faTimes : faBars} 
+              className="text-xl transition-transform duration-300"
+            />
+          </button>
+        </div>
+
+        {/* Mobile Menu Items */}
+        <div className={`overflow-hidden transition-all duration-300 ease-in-out ${
+          isMenuOpen ? 'max-h-96 opacity-100' : 'max-h-0 opacity-0'
+        }`}>
+          <div className="px-4 pb-4 space-y-2">
+            {menuItems.map((item, index) => (
+              <div key={index} className="group flex flex-row items-center gap-3 px-3 py-3 rounded-lg cursor-pointer transition-all duration-300 hover:bg-white hover:bg-opacity-20 hover:text-primary">
+                <FontAwesomeIcon icon={item.icon} className="transition-transform duration-300 group-hover:rotate-12" />
+                <span className="text-lg">{item.label}</span>
+              </div>
+            ))}
+          </div>
+        </div>
+      </nav>
+    </>
+  );
+};
+
+export default Navbar;
Index: src/lib/utils.ts
===================================================================
--- src/lib/utils.ts	(revision 875f7d6526d10ea486ceae45de8b59a66f11aaff)
+++ src/lib/utils.ts	(revision 875f7d6526d10ea486ceae45de8b59a66f11aaff)
@@ -0,0 +1,6 @@
+import { clsx, type ClassValue } from "clsx"
+import { twMerge } from "tailwind-merge"
+
+export function cn(...inputs: ClassValue[]) {
+  return twMerge(clsx(inputs))
+}
