diff --git a/uniplanWeb/src/app/core/shared/main-panel/main-panel.html b/uniplanWeb/src/app/core/shared/main-panel/main-panel.html
new file mode 100644
index 0000000..8955f00
--- /dev/null
+++ b/uniplanWeb/src/app/core/shared/main-panel/main-panel.html
@@ -0,0 +1,74 @@
+
+ @if (currentView === 'faculty') {
+
+ }
+
+ @if (currentView === 'home') {
+
+
Main!
+
+ }
+
+ @if (currentView === 'login') {
+
+ }
+
+ @if (currentView === 'major') {
+
+ }
+
+ @if (currentView === 'student') {
+
+ }
+
+
diff --git a/uniplanWeb/src/app/core/shared/main-panel/main-panel.scss b/uniplanWeb/src/app/core/shared/main-panel/main-panel.scss
new file mode 100644
index 0000000..4f6858d
--- /dev/null
+++ b/uniplanWeb/src/app/core/shared/main-panel/main-panel.scss
@@ -0,0 +1,98 @@
+.mainPanel {
+ height: 100%;
+ width: 100%;
+ overflow: auto;
+ display: flex;
+ justify-content: center;
+}
+
+.component-panel.login {
+ width: 100%;
+ min-height: calc(100vh - 80px);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 32px;
+ box-sizing: border-box;
+}
+
+.components-wrapper {
+ position: relative;
+ margin-left: 8%;
+ margin-right: 13%;
+ max-width: 2000px;
+ width: 100%;
+
+ @media screen and (max-width: 1024px) {
+ margin-left: 5%;
+ padding-left: 1%;
+ margin-right: 5%;
+ }
+
+ @media screen and (max-width: 768px) {
+ margin-left: 2%;
+ padding-left: 1%;
+ margin-right: 2%;
+ }
+
+ @media screen and (max-width: 480px) {
+ margin-left: 1%;
+ padding-left: 1%;
+ margin-right: 1%;
+ }
+}
+
+.component-panel .major .component-panel .student {
+ display: grid;
+ grid-template-columns: 1fr;
+ grid-template-rows: auto 1fr;
+ gap: 16px;
+ height: 100%;
+ padding: 5px;
+ margin-top: 1%;
+}
+
+.component-panel {
+ margin-top: 4%;
+}
+
+.controls-row {
+ display: grid;
+ grid-template-columns: auto 1fr;
+ gap: 16px;
+ align-items: center;
+}
+
+.options {
+ padding-bottom: 20px;
+}
+
+.mainPanel.login-view {
+ align-items: center;
+ justify-content: center;
+}
+
+.mainPanel.login-view .components-wrapper {
+ margin-left: 0;
+ margin-right: 0;
+ padding-left: 0;
+ width: 100%;
+ max-width: none;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.component-panel.login {
+ width: 100%;
+ min-height: 100%;
+ margin-top: 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 32px;
+ box-sizing: border-box;
+}
+
+
diff --git a/uniplanWeb/src/app/core/shared/main-panel/main-panel.ts b/uniplanWeb/src/app/core/shared/main-panel/main-panel.ts
new file mode 100644
index 0000000..cd64c75
--- /dev/null
+++ b/uniplanWeb/src/app/core/shared/main-panel/main-panel.ts
@@ -0,0 +1,106 @@
+import { Component, ChangeDetectionStrategy } from '@angular/core';
+
+import { FacultyOptions } from '../../../features/faculty/faculty-options/faculty-options';
+import { ViewService } from './view.service';
+import { MajorOptions } from '../../../features/major/major-options/major-options';
+import { FacultyTable } from '../../../features/faculty/faculty-table/faculty-table';
+import { MajorTable } from '../../../features/major/major-table/major-table';
+import { MajorFilters } from '../../../features/major/major-filters/major-filters';
+import { StudentOptions } from '../../../features/student/student-options/student-options';
+import {
+ StudentTable,
+ ELEMENT_STUDENT_DATA,
+} from '../../../features/student/student-table/student-table';
+import { StudentFilters } from '../../../features/student/student-filters/student-filters';
+import { MajorElm } from '../../interfaces/major-elm';
+import { MajorService } from '../../../features/major/major-service';
+import { FacultyService } from '../../../features/faculty/faculty-service';
+import { LoginForm } from '../../../features/login/login-form/login-form';
+
+@Component({
+ selector: 'app-main-panel',
+ imports: [
+ FacultyOptions,
+ MajorOptions,
+ FacultyTable,
+ MajorTable,
+ MajorFilters,
+ StudentOptions,
+ StudentTable,
+ StudentFilters,
+ LoginForm,
+],
+ standalone: true,
+ templateUrl: './main-panel.html',
+ changeDetection: ChangeDetectionStrategy.Eager,
+ styleUrl: './main-panel.scss',
+})
+export class MainPanel {
+ currentView = 'home';
+
+ majors: MajorElm[] = [];
+ students = ELEMENT_STUDENT_DATA;
+
+ searchText = '';
+ searchFacNum = '';
+ searchMajor = '';
+ selectedStudentSubtype = '';
+ studentSubtypes: string[] = [];
+
+ selectedFaculty = '';
+ selectedType = '';
+ selectedSubtype = '';
+
+ faculties: { id: string; name: string }[] = [];
+ types: string[] = [];
+ subtypes: string[] = [];
+
+ private facultyMap = new Map