Index: src/Clients/Angular/finki-chattery/src/app/core/guards/authorized-student.guard.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/core/guards/authorized-student.guard.ts	(revision c205cc4526552948b0429d20c44dd9d98602b24c)
+++ src/Clients/Angular/finki-chattery/src/app/core/guards/authorized-student.guard.ts	(revision 32cd040c84d3907c2311e7269d28ceb88f895897)
@@ -1,5 +1,4 @@
 import { Injectable } from '@angular/core';
 import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
-import { ApplicationUserType } from 'src/app/shared-app/models';
 import { AuthService } from '../services';
 
@@ -11,5 +10,5 @@
 
   canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
-    return this.auth.user?.userType === ApplicationUserType.Student;
+    return this.auth.isStudent();
   }
 }
Index: src/Clients/Angular/finki-chattery/src/app/modules/questioning/components/ask-question/ask-question.component.html
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/modules/questioning/components/ask-question/ask-question.component.html	(revision c205cc4526552948b0429d20c44dd9d98602b24c)
+++ src/Clients/Angular/finki-chattery/src/app/modules/questioning/components/ask-question/ask-question.component.html	(revision 32cd040c84d3907c2311e7269d28ceb88f895897)
@@ -1,40 +1,1 @@
-<form class="example-container" [formGroup]="questionFormGroup">
-  <mat-form-field class="full-width margin-bottom-sm" appearance="fill" appHandleInputFormErrors>
-    <mat-label>{{ 'ask-question-question-title' | translate }}</mat-label>
-    <input matInput [formControl]="titleForm" />
-  </mat-form-field>
-
-  <editor
-    matInput
-    class="margin-bottom-sm"
-    [formControl]="textForm"
-    [init]="{
-      apiKey: 'fx28x0d64jeufa35u7mcd80fgveayg5c4ap9gnr6posehzny',
-      menubar: false,
-      plugins: [
-        'advlist autolink lists link image charmap print preview anchor',
-        'searchreplace visualblocks code fullscreen',
-        'insertdatetime media table paste code help wordcount'
-      ],
-      toolbar:
-        'undo redo | formatselect | bold italic backcolor | code | \
-        alignleft aligncenter alignright alignjustify | \
-        bullist numlist outdent indent | removeformat | help'
-    }"
-  ></editor>
-  <mat-error *ngIf="textForm?.touched && textForm?.errors?.required">{{ 'not-found' | translate }}</mat-error>
-  <mat-error *ngIf="textForm?.touched && textForm?.errors?.maxlength">{{
-    'error-message-max-length' | translate: { maxlength: textForm?.errors?.maxlength?.requiredLength }
-  }}</mat-error>
-
-  <mat-form-field class="full-width margin-bottom-sm" appearance="fill" appHandleInputFormErrors>
-    <mat-label>{{ 'ask-question-categories' | translate }}</mat-label>
-    <mat-select [formControl]="categoriesForm" multiple>
-      <mat-option *ngFor="let category of categoriesList$ | async" [value]="category.uid">{{ category.translatedName }}</mat-option>
-    </mat-select>
-  </mat-form-field>
-
-  <app-button [disabled]="questionFormGroup.invalid" [buttonType]="ButtonType.CallToAction" (action)="askQuestion()">
-    {{ 'ask-question-ask-button' | translate }}
-  </app-button>
-</form>
+<app-ask-question-shared (askQuestion)="askQuestionAsStudent($event)"></app-ask-question-shared>
Index: src/Clients/Angular/finki-chattery/src/app/modules/questioning/components/ask-question/ask-question.component.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/modules/questioning/components/ask-question/ask-question.component.ts	(revision c205cc4526552948b0429d20c44dd9d98602b24c)
+++ src/Clients/Angular/finki-chattery/src/app/modules/questioning/components/ask-question/ask-question.component.ts	(revision 32cd040c84d3907c2311e7269d28ceb88f895897)
@@ -1,9 +1,6 @@
 import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, Validators } from '@angular/forms';
 import { Router } from '@angular/router';
 
-import { CategoryFacadeService } from 'src/app/core/state/category-facade.service';
-import { ButtonType } from 'src/app/shared-app/components/generic/button/button.models';
-import { AskQuestionRequest } from '../../models/questioning-request.models';
+import { AskQuestionRequest } from 'src/app/shared-app/models';
 import { QuestioningApiService } from '../../services/questioning-api.service';
 
@@ -14,23 +11,9 @@
 })
 export class AskQuestionComponent implements OnInit {
-  public titleForm = new FormControl('', [Validators.required, Validators.maxLength(500)]);
-  public textForm = new FormControl('', [Validators.required, Validators.maxLength(4000)]);
-  public categoriesForm = new FormControl([]);
-  public questionFormGroup: FormGroup;
-  public ButtonType = ButtonType;
-  public categoriesList$ = this.categoriesFacade.getCategories();
-
-  constructor(private api: QuestioningApiService, private categoriesFacade: CategoryFacadeService, private router: Router) {
-    this.questionFormGroup = new FormGroup({
-      title: this.titleForm,
-      text: this.textForm,
-      categories: this.categoriesForm
-    });
-  }
+  constructor(private api: QuestioningApiService, private router: Router) {}
 
   ngOnInit(): void {}
 
-  public askQuestion(): void {
-    const body = new AskQuestionRequest(this.titleForm.value, this.textForm.value, this.categoriesForm.value);
+  public askQuestionAsStudent(body: AskQuestionRequest): void {
     this.api.askQuestion(body).subscribe((questionUid) => {
       this.router.navigateByUrl(`questioning/${questionUid}`);
Index: src/Clients/Angular/finki-chattery/src/app/modules/questioning/models/questioning-request.models.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/modules/questioning/models/questioning-request.models.ts	(revision c205cc4526552948b0429d20c44dd9d98602b24c)
+++ 	(revision )
@@ -1,3 +1,0 @@
-export class AskQuestionRequest {
-  constructor(public title: string, public text: string, public categories: string[]) {}
-}
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/components/components.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/components/components.ts	(revision c205cc4526552948b0429d20c44dd9d98602b24c)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/components.ts	(revision 32cd040c84d3907c2311e7269d28ceb88f895897)
@@ -4,4 +4,5 @@
 import { HeaderComponent } from './generic/header/header.component';
 import { VoteComponent } from './generic/vote/vote.component';
+import { AskQuestionSharedComponent } from './question/ask-question-shared/ask-question-shared.component';
 import { PreviewQuestionDisplayComponent } from './question/preview-question-display/preview-question-display.component';
 import { QuestionPreviewComponent } from './question/question-preview/question-preview.component';
@@ -18,4 +19,5 @@
   HeaderComponent,
   SearchQuestionComponent,
-  PreviewQuestionDisplayComponent
+  PreviewQuestionDisplayComponent,
+  AskQuestionSharedComponent
 ];
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/ask-question-shared/ask-question-shared.component.html
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/ask-question-shared/ask-question-shared.component.html	(revision 32cd040c84d3907c2311e7269d28ceb88f895897)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/ask-question-shared/ask-question-shared.component.html	(revision 32cd040c84d3907c2311e7269d28ceb88f895897)
@@ -0,0 +1,40 @@
+<form class="example-container" [formGroup]="questionFormGroup">
+  <mat-form-field class="full-width margin-bottom-sm" appearance="fill" appHandleInputFormErrors>
+    <mat-label>{{ 'ask-question-question-title' | translate }}</mat-label>
+    <input matInput [formControl]="titleForm" />
+  </mat-form-field>
+
+  <editor
+    matInput
+    class="margin-bottom-sm"
+    [formControl]="textForm"
+    [init]="{
+      apiKey: 'fx28x0d64jeufa35u7mcd80fgveayg5c4ap9gnr6posehzny',
+      menubar: false,
+      plugins: [
+        'advlist autolink lists link image charmap print preview anchor',
+        'searchreplace visualblocks code fullscreen',
+        'insertdatetime media table paste code help wordcount'
+      ],
+      toolbar:
+        'undo redo | formatselect | bold italic backcolor | code | \
+        alignleft aligncenter alignright alignjustify | \
+        bullist numlist outdent indent | removeformat | help'
+    }"
+  ></editor>
+  <mat-error *ngIf="textForm?.touched && textForm?.errors?.required">{{ 'not-found' | translate }}</mat-error>
+  <mat-error *ngIf="textForm?.touched && textForm?.errors?.maxlength">{{
+    'error-message-max-length' | translate: { maxlength: textForm?.errors?.maxlength?.requiredLength }
+  }}</mat-error>
+
+  <mat-form-field class="full-width margin-bottom-sm" appearance="fill" appHandleInputFormErrors>
+    <mat-label>{{ 'ask-question-categories' | translate }}</mat-label>
+    <mat-select [formControl]="categoriesForm" multiple>
+      <mat-option *ngFor="let category of categoriesList$ | async" [value]="category.uid">{{ category.translatedName }}</mat-option>
+    </mat-select>
+  </mat-form-field>
+
+  <app-button [disabled]="questionFormGroup.invalid" [buttonType]="ButtonType.CallToAction" (action)="askQuestionEmit()">
+    {{ 'ask-question-ask-button' | translate }}
+  </app-button>
+</form>
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/ask-question-shared/ask-question-shared.component.spec.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/ask-question-shared/ask-question-shared.component.spec.ts	(revision 32cd040c84d3907c2311e7269d28ceb88f895897)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/ask-question-shared/ask-question-shared.component.spec.ts	(revision 32cd040c84d3907c2311e7269d28ceb88f895897)
@@ -0,0 +1,24 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { AskQuestionSharedComponent } from './ask-question-shared.component';
+
+describe('AskQuestionComponent', () => {
+  let component: AskQuestionSharedComponent;
+  let fixture: ComponentFixture<AskQuestionSharedComponent>;
+
+  beforeEach(async () => {
+    await TestBed.configureTestingModule({
+      declarations: [AskQuestionSharedComponent]
+    }).compileComponents();
+  });
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(AskQuestionSharedComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/ask-question-shared/ask-question-shared.component.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/ask-question-shared/ask-question-shared.component.ts	(revision 32cd040c84d3907c2311e7269d28ceb88f895897)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/ask-question-shared/ask-question-shared.component.ts	(revision 32cd040c84d3907c2311e7269d28ceb88f895897)
@@ -0,0 +1,38 @@
+import { Component, EventEmitter, OnInit, Output } from '@angular/core';
+import { FormControl, FormGroup, Validators } from '@angular/forms';
+import { Router } from '@angular/router';
+
+import { CategoryFacadeService } from 'src/app/core/state/category-facade.service';
+import { ButtonType } from 'src/app/shared-app/components/generic/button/button.models';
+import { AskQuestionRequest } from 'src/app/shared-app/models';
+
+@Component({
+  selector: 'app-ask-question-shared',
+  templateUrl: './ask-question-shared.component.html',
+  styleUrls: ['./ask-question-shared.component.scss']
+})
+export class AskQuestionSharedComponent implements OnInit {
+  @Output() askQuestion = new EventEmitter<AskQuestionRequest>();
+
+  public titleForm = new FormControl('', [Validators.required, Validators.maxLength(500)]);
+  public textForm = new FormControl('', [Validators.required, Validators.maxLength(4000)]);
+  public categoriesForm = new FormControl([]);
+  public questionFormGroup: FormGroup;
+  public ButtonType = ButtonType;
+  public categoriesList$ = this.categoriesFacade.getCategories();
+
+  constructor(private categoriesFacade: CategoryFacadeService, private router: Router) {
+    this.questionFormGroup = new FormGroup({
+      title: this.titleForm,
+      text: this.textForm,
+      categories: this.categoriesForm
+    });
+  }
+
+  ngOnInit(): void {}
+
+  public askQuestionEmit(): void {
+    const body = new AskQuestionRequest(this.titleForm.value, this.textForm.value, this.categoriesForm.value);
+    this.askQuestion.emit(body);
+  }
+}
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/models/index.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/models/index.ts	(revision c205cc4526552948b0429d20c44dd9d98602b24c)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/models/index.ts	(revision 32cd040c84d3907c2311e7269d28ceb88f895897)
@@ -4,2 +4,3 @@
 export * from './category-state-view-models.models';
 export * from './question-state-enums.models';
+export * from './questioning-request.models';
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/models/questioning-request.models.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/models/questioning-request.models.ts	(revision 32cd040c84d3907c2311e7269d28ceb88f895897)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/models/questioning-request.models.ts	(revision 32cd040c84d3907c2311e7269d28ceb88f895897)
@@ -0,0 +1,3 @@
+export class AskQuestionRequest {
+  constructor(public title: string, public text: string, public categories: string[]) {}
+}
