Index: src/Clients/Angular/finki-chattery/src/app/core/services/auth.service.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/core/services/auth.service.ts	(revision 6b0fbbe1693875cc18ad07d4031d593201a8ee62)
+++ src/Clients/Angular/finki-chattery/src/app/core/services/auth.service.ts	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -1,4 +1,4 @@
 import { Injectable } from '@angular/core';
-import { User, UserManager, WebStorageStateStore } from 'oidc-client';
+import { User, UserManager } from 'oidc-client';
 import { Observable, of } from 'rxjs';
 
@@ -19,6 +19,5 @@
     post_logout_redirect_uri: window.location.origin,
     filterProtocolClaims: true,
-    loadUserInfo: true,
-    userStore: new WebStorageStateStore({ store: window.localStorage })
+    loadUserInfo: true
   });
 
@@ -55,5 +54,5 @@
 
   public isStudent(): boolean {
-    return this.user?.userType === ApplicationUserType.Student;
+    return this.user !== null && this.user.userType === ApplicationUserType.Student;
   }
 
Index: src/Clients/Angular/finki-chattery/src/app/core/state/question-state/question.effects.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/core/state/question-state/question.effects.ts	(revision 6b0fbbe1693875cc18ad07d4031d593201a8ee62)
+++ src/Clients/Angular/finki-chattery/src/app/core/state/question-state/question.effects.ts	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -39,5 +39,8 @@
       switchMap((action) => {
         return this.api.get<QuestionStateResponse>(`v1/questions/${action.questionUid}`).pipe(
-          switchMap((state) => [new GetQuestionStateSuccess(QuestionMapper.ToQuestionStateViewModel(state)), new EffectFinishedWorking()]),
+          switchMap((state) => [
+            new GetQuestionStateSuccess(QuestionMapper.ToQuestionStateViewModel(state, this.translate)),
+            new EffectFinishedWorking()
+          ]),
           catchError((err) => [new EffectFinishedWorkingError(err)])
         );
Index: src/Clients/Angular/finki-chattery/src/app/core/state/question-state/question.mapper.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/core/state/question-state/question.mapper.ts	(revision 6b0fbbe1693875cc18ad07d4031d593201a8ee62)
+++ src/Clients/Angular/finki-chattery/src/app/core/state/question-state/question.mapper.ts	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -13,8 +13,11 @@
 } from 'src/app/shared-app/models';
 import { TranslateFromJsonService } from 'src/app/shared-app/services';
-import { PreviewQuestionCategoryResponse, PreviewQuestionResponse, QuestionStateResponse } from './question-state.models';
+import { PreviewQuestionResponse, QuestionStateResponse } from './question-state.models';
 
 export class QuestionMapper {
-  public static ToQuestionStateViewModel(questionStateResponse: QuestionStateResponse): QuestionStateViewModel {
+  public static ToQuestionStateViewModel(
+    questionStateResponse: QuestionStateResponse,
+    translate: TranslateFromJsonService
+  ): QuestionStateViewModel {
     let answers: AnswerQuestionStateViewModel[] = [];
 
@@ -58,5 +61,7 @@
 
     if (questionStateResponse.categoriesResponse.length > 0) {
-      categories = questionStateResponse.categoriesResponse.map((x) => new QuestionCategoryQuestionStateViewModel(x.uid, x.name));
+      categories = questionStateResponse.categoriesResponse.map(
+        (x) => new QuestionCategoryQuestionStateViewModel(x.uid, x.name, translate.instant(x.name))
+      );
     }
 
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 6b0fbbe1693875cc18ad07d4031d593201a8ee62)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/components.ts	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -3,7 +3,9 @@
 import { FormErrorComponent } from './generic/form-error/form-error.component';
 import { HeaderComponent } from './generic/header/header.component';
+import { TextEditorComponent } from './generic/text-editor/text-editor.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 { PreviewQuestionFullComponent } from './question/preview-question-full/preview-question-full.component';
 import { QuestionPreviewComponent } from './question/question-preview/question-preview.component';
 import { SearchQuestionComponent } from './question/search-question/search-question.component';
@@ -20,4 +22,6 @@
   SearchQuestionComponent,
   PreviewQuestionDisplayComponent,
-  AskQuestionSharedComponent
+  AskQuestionSharedComponent,
+  PreviewQuestionFullComponent,
+  TextEditorComponent
 ];
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/components/generic/text-editor/text-editor.component.html
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/components/generic/text-editor/text-editor.component.html	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/generic/text-editor/text-editor.component.html	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -0,0 +1,13 @@
+<editor
+  class="margin-x-sm"
+  apiKey="fx28x0d64jeufa35u7mcd80fgveayg5c4ap9gnr6posehzny"
+  matInput
+  [init]="configuration"
+  [disabled]="readonly"
+  [initialValue]="text"
+  [formControl]="textForm"
+></editor>
+<mat-error *ngIf="textForm?.touched && textForm?.errors?.required">{{ 'error-message-filed-required' | translate }}</mat-error>
+<mat-error *ngIf="textForm?.touched && textForm?.errors?.maxlength">{{
+  'error-message-max-length' | translate: { maxlength: textForm?.errors?.maxlength?.requiredLength }
+}}</mat-error>
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/components/generic/text-editor/text-editor.component.spec.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/components/generic/text-editor/text-editor.component.spec.ts	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/generic/text-editor/text-editor.component.spec.ts	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -0,0 +1,25 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { TextEditorComponent } from './text-editor.component';
+
+describe('TextEditorComponent', () => {
+  let component: TextEditorComponent;
+  let fixture: ComponentFixture<TextEditorComponent>;
+
+  beforeEach(async () => {
+    await TestBed.configureTestingModule({
+      declarations: [ TextEditorComponent ]
+    })
+    .compileComponents();
+  });
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(TextEditorComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/components/generic/text-editor/text-editor.component.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/components/generic/text-editor/text-editor.component.ts	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/generic/text-editor/text-editor.component.ts	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -0,0 +1,32 @@
+import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';
+import { FormControl, Validators } from '@angular/forms';
+
+@Component({
+  selector: 'app-text-editor',
+  templateUrl: './text-editor.component.html',
+  styleUrls: ['./text-editor.component.scss']
+})
+export class TextEditorComponent implements OnInit, OnChanges {
+  @Input() textForm = new FormControl('', [Validators.required, Validators.maxLength(4000)]);
+  @Input() text?: string;
+  @Input() readonly = false;
+  @Input() configuration: Record<string, any> = {
+    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'
+  };
+
+  constructor() {}
+  ngOnChanges(changes: SimpleChanges): void {
+    this.textForm.setValue(this.text);
+  }
+
+  ngOnInit(): void {}
+}
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 6b0fbbe1693875cc18ad07d4031d593201a8ee62)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/ask-question-shared/ask-question-shared.component.html	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -1,40 +1,41 @@
-<form [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>
+<mat-horizontal-stepper linear #stepper>
+  <mat-step [stepControl]="questionFormGroup">
+    <ng-template matStepLabel>{{ 'ask-question-stepper-ask' | translate }}</ng-template>
+    <form [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>
+      <app-text-editor [textForm]="textForm"></app-text-editor>
 
-  <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>
+      <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">{{ 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>
+      <button mat-button [disabled]="questionFormGroup.invalid" matStepperNext>
+        {{ 'ask-question-ask-button-preview' | translate }}
+      </button>
+    </form>
+  </mat-step>
+  <mat-step>
+    <ng-template matStepLabel>{{ 'ask-question-stepper-preview' | translate }}</ng-template>
+    <app-preview-question-full [question]="previewQuestion"></app-preview-question-full>
+    <div>
+      <button class="margin-y-xs" mat-button [disabled]="questionFormGroup.invalid" matStepperPrevious>
+        {{ 'ask-question-ask-button-back' | translate }}
+      </button>
+      <app-button
+        class="margin-y-xs"
+        [disabled]="questionFormGroup.invalid"
+        [buttonType]="ButtonType.CallToAction"
+        (action)="askQuestionEmit()"
+      >
+        {{ 'ask-question-ask-button' | translate }}
+      </app-button>
+    </div>
+  </mat-step>
+</mat-horizontal-stepper>
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/ask-question-shared/ask-question-shared.component.scss
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/ask-question-shared/ask-question-shared.component.scss	(revision 6b0fbbe1693875cc18ad07d4031d593201a8ee62)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/ask-question-shared/ask-question-shared.component.scss	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -0,0 +1,7 @@
+::ng-deep .mat-horizontal-content-container {
+  padding: 0 !important;
+}
+
+::ng-deep mat-card {
+  margin: 5px !important;
+}
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 6b0fbbe1693875cc18ad07d4031d593201a8ee62)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/ask-question-shared/ask-question-shared.component.ts	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -1,8 +1,14 @@
 import { Component, EventEmitter, OnInit, Output } from '@angular/core';
 import { FormControl, FormGroup, Validators } from '@angular/forms';
+import * as moment from 'moment';
 
 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';
+import {
+  AskQuestionRequest,
+  QuestionCategoryQuestionStateViewModel,
+  QuestionStateViewModel,
+  StudentQuestionStateViewModel
+} from 'src/app/shared-app/models';
 
 @Component({
@@ -13,4 +19,6 @@
 export class AskQuestionSharedComponent implements OnInit {
   @Output() askQuestion = new EventEmitter<AskQuestionRequest>();
+
+  public previewQuestion?: QuestionStateViewModel;
 
   public titleForm = new FormControl('', [Validators.required, Validators.maxLength(500)]);
@@ -29,8 +37,34 @@
   }
 
-  ngOnInit(): void {}
+  ngOnInit(): void {
+    this.questionFormGroup.valueChanges.subscribe((x) => {
+      const student = new StudentQuestionStateViewModel('', '', '', 0);
+      const categories = this.categoriesForm.value.map(
+        (category: any) => new QuestionCategoryQuestionStateViewModel('', category.name, category.translatedName)
+      );
+
+      this.previewQuestion = new QuestionStateViewModel(
+        '',
+        this.titleForm.value,
+        this.textForm.value,
+        moment(),
+        0,
+        moment(),
+        student,
+        [],
+        categories,
+        null
+      );
+    });
+  }
 
   public askQuestionEmit(): void {
-    this.askQuestion.emit(new AskQuestionRequest(this.titleForm.value, this.textForm.value, this.categoriesForm.value));
+    this.askQuestion.emit(
+      new AskQuestionRequest(
+        this.titleForm.value,
+        this.textForm.value,
+        this.categoriesForm.value.map((x: any) => x.uid)
+      )
+    );
   }
 }
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/preview-question-full/preview-question-full.component.html
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/preview-question-full/preview-question-full.component.html	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/preview-question-full/preview-question-full.component.html	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -0,0 +1,44 @@
+<mat-card appHoverElevation>
+  <mat-card-title>{{ question?.title }}</mat-card-title>
+  <mat-card-subtitle
+    [innerHTML]="
+      'question-preview-subtitle'
+        | translate
+          : {
+              createdOn: question?.createdOn | momentDate: 'LLLL',
+              lastActive: question?.lastActiveOn | momentDate: 'LLLL',
+              views: question?.views
+            }
+    "
+  ></mat-card-subtitle>
+  <mat-card-content>
+    <mat-chip-list>
+      <mat-chip *ngFor="let category of question?.categories">
+        {{ category.translatedName }}
+      </mat-chip>
+    </mat-chip-list>
+
+    <app-text-editor
+      [text]="question?.text"
+      [configuration]="{
+        menubar: false,
+        plugins: ['autoresize'],
+        toolbar: ''
+      }"
+      [readonly]="true"
+    ></app-text-editor>
+
+    <div class="align-right">
+      <app-student-card
+        [indexNumber]="question?.student?.index"
+        [imageUrl]="question?.student?.imageUrl"
+        [uid]="question?.student?.uid"
+        [reputation]="question?.student?.reputation"
+        [subtitle]="'question-asked-by-subtitle' | translate: { date: question?.createdOn | momentDate: 'LL' }"
+      ></app-student-card>
+    </div>
+  </mat-card-content>
+  <mat-card-actions>
+    <app-button appShareLink [buttonType]="ButtonType.Basic">{{ 'share-link' | translate }}</app-button>
+  </mat-card-actions>
+</mat-card>
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/preview-question-full/preview-question-full.component.scss
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/preview-question-full/preview-question-full.component.scss	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/preview-question-full/preview-question-full.component.scss	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -0,0 +1,8 @@
+.align-right {
+  display: flex;
+  justify-content: right;
+}
+
+mat-card-content {
+  margin-bottom: 0;
+}
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/preview-question-full/preview-question-full.component.spec.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/preview-question-full/preview-question-full.component.spec.ts	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/preview-question-full/preview-question-full.component.spec.ts	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -0,0 +1,25 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { PreviewQuestionFullComponent } from './preview-question-full.component';
+
+describe('PreviewQuestionFullComponent', () => {
+  let component: PreviewQuestionFullComponent;
+  let fixture: ComponentFixture<PreviewQuestionFullComponent>;
+
+  beforeEach(async () => {
+    await TestBed.configureTestingModule({
+      declarations: [ PreviewQuestionFullComponent ]
+    })
+    .compileComponents();
+  });
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(PreviewQuestionFullComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/preview-question-full/preview-question-full.component.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/preview-question-full/preview-question-full.component.ts	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/preview-question-full/preview-question-full.component.ts	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -0,0 +1,16 @@
+import { Component, Input, OnInit } from '@angular/core';
+import { QuestionStateViewModel } from 'src/app/shared-app/models';
+import { ButtonType } from '../../generic/button/button.models';
+
+@Component({
+  selector: 'app-preview-question-full',
+  templateUrl: './preview-question-full.component.html',
+  styleUrls: ['./preview-question-full.component.scss']
+})
+export class PreviewQuestionFullComponent implements OnInit {
+  @Input() question?: QuestionStateViewModel;
+  ButtonType = ButtonType;
+  constructor() {}
+
+  ngOnInit(): void {}
+}
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/question-preview/question-preview.component.html
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/question-preview/question-preview.component.html	(revision 6b0fbbe1693875cc18ad07d4031d593201a8ee62)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/question-preview/question-preview.component.html	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -1,48 +1,6 @@
 <div *ngIf="!working">
-  <mat-card appHoverElevation class="margin-bottom-xl">
-    <mat-card-title>{{ question.title }}</mat-card-title>
-    <mat-card-subtitle
-      [innerHTML]="
-        'question-preview-subtitle'
-          | translate
-            : {
-                createdOn: question.createdOn | momentDate: 'LLLL',
-                lastActive: question.lastActiveOn | momentDate: 'LLLL',
-                views: question.views
-              }
-      "
-    ></mat-card-subtitle>
-    <mat-card-content>
-      <mat-chip-list>
-        <mat-chip *ngFor="let category of question.categories">
-          {{ category.name }}
-        </mat-chip>
-      </mat-chip-list>
-
-      <editor
-        class="margin-x-sm"
-        [init]="{
-          apiKey: 'fx28x0d64jeufa35u7mcd80fgveayg5c4ap9gnr6posehzny',
-          menubar: false,
-          plugins: ['autoresize'],
-          toolbar: ''
-        }"
-        [disabled]="true"
-        [initialValue]="question.text"
-      ></editor>
-      <div class="align-right">
-        <app-student-card
-          [indexNumber]="question.student.index"
-          [imageUrl]="question.student.imageUrl"
-          [uid]="question.student.uid"
-          [reputation]="question.student.reputation"
-          [subtitle]="'question-asked-by-subtitle' | translate: { date: question.createdOn | momentDate: 'LL' }"
-        ></app-student-card>
-      </div>
-    </mat-card-content>
-    <mat-card-actions>
-      <app-button appShareLink [buttonType]="ButtonType.Basic">{{ 'share-link' | translate }}</app-button>
-    </mat-card-actions>
-  </mat-card>
+  <div class="margin-bottom-xl">
+    <app-preview-question-full [question]="question"></app-preview-question-full>
+  </div>
 
   <h1 class="mat-headline">{{ 'question-answers' | translate: { answerCount: question.answers.length } }}</h1>
@@ -58,15 +16,13 @@
           <app-vote [voteCount]="answer.upvotesCount" [correct]="answer.correctAnswer" fxFlex="6%"></app-vote>
           <div fxFlex="92%">
-            <editor
-              class="margin-x-sm"
-              [init]="{
-                apiKey: 'fx28x0d64jeufa35u7mcd80fgveayg5c4ap9gnr6posehzny',
+            <app-text-editor
+              [text]="answer.text"
+              [configuration]="{
                 menubar: false,
                 plugins: ['autoresize'],
                 toolbar: ''
               }"
-              [disabled]="true"
-              [initialValue]="answer.text"
-            ></editor>
+              [readonly]="true"
+            ></app-text-editor>
             <div class="align-right">
               <app-student-card
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/student-card/student-card.component.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/student-card/student-card.component.ts	(revision 6b0fbbe1693875cc18ad07d4031d593201a8ee62)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/components/question/student-card/student-card.component.ts	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -9,5 +9,5 @@
   @Input() imageUrl: string | undefined;
   @Input() indexNumber: string | undefined;
-  @Input() uid!: string;
+  @Input() uid?: string;
   @Input() reputation: number | undefined;
   @Input() subtitle: string | undefined;
Index: src/Clients/Angular/finki-chattery/src/app/shared-app/models/question-state-view-models.models.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-app/models/question-state-view-models.models.ts	(revision 6b0fbbe1693875cc18ad07d4031d593201a8ee62)
+++ src/Clients/Angular/finki-chattery/src/app/shared-app/models/question-state-view-models.models.ts	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -23,5 +23,5 @@
 
 export class QuestionCategoryQuestionStateViewModel {
-  constructor(public uid: string, public name: string) {}
+  constructor(public uid: string, public name: string, public translatedName: string) {}
 }
 
Index: src/Clients/Angular/finki-chattery/src/app/shared-material/shared-material.module.ts
===================================================================
--- src/Clients/Angular/finki-chattery/src/app/shared-material/shared-material.module.ts	(revision 6b0fbbe1693875cc18ad07d4031d593201a8ee62)
+++ src/Clients/Angular/finki-chattery/src/app/shared-material/shared-material.module.ts	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -24,4 +24,5 @@
 import { MatButtonToggleModule } from '@angular/material/button-toggle';
 import { MatBadgeModule } from '@angular/material/badge';
+import { MatStepperModule } from '@angular/material/stepper';
 
 @NgModule({
@@ -49,5 +50,6 @@
     MatTooltipModule,
     MatButtonToggleModule,
-    MatBadgeModule
+    MatBadgeModule,
+    MatStepperModule
   ],
   exports: [
@@ -73,5 +75,6 @@
     MatTooltipModule,
     MatButtonToggleModule,
-    MatBadgeModule
+    MatBadgeModule,
+    MatStepperModule
   ]
 })
Index: src/Clients/Angular/finki-chattery/src/assets/translations/en.json
===================================================================
--- src/Clients/Angular/finki-chattery/src/assets/translations/en.json	(revision 6b0fbbe1693875cc18ad07d4031d593201a8ee62)
+++ src/Clients/Angular/finki-chattery/src/assets/translations/en.json	(revision 59d860c8e15060d325b5b0ed8fcf395d4b618207)
@@ -47,6 +47,10 @@
   "ask-question-question-title": "Question title",
   "ask-question-categories": "Add categories to question",
-  "ask-question-ask-button": "Ask question",
+  "ask-question-ask-button-preview": "Preview question",
   "header-logout": "Logout",
-  "header-ask-question": "Ask question"
+  "header-ask-question": "Ask question",
+  "ask-question-stepper-preview": "Preview question",
+  "ask-question-stepper-ask": "Ask question",
+  "ask-question-ask-button-back": "Edit question",
+  "ask-question-ask-button": "Ask question"
 }
