Index: database/migrations/2019_10_25_180617_create_phases_table.php
===================================================================
--- database/migrations/2019_10_25_180617_create_phases_table.php	(revision 0c07a90e366407811902a5052f42e01d20bafe25)
+++ database/migrations/2019_10_25_180617_create_phases_table.php	(revision 0c07a90e366407811902a5052f42e01d20bafe25)
@@ -0,0 +1,45 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreatePhasesTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('phases', function (Blueprint $table) {
+            $table->increments('id');
+            $table->string('name')->unique();
+            $table->unsignedInteger('reviewer_role_id');
+            $table->unsignedInteger('user_id');
+
+            $table->foreign("reviewer_role_id")
+                ->references("id")
+                ->on("roles")
+                ->onDelete("cascade");
+
+            $table->foreign("user_id")
+                ->references("id")
+                ->on("users")
+                ->onDelete("cascade");
+
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('phases');
+    }
+}
Index: database/migrations/2019_10_25_180620_create_post_securities_table.php
===================================================================
--- database/migrations/2019_10_25_180620_create_post_securities_table.php	(revision 0c07a90e366407811902a5052f42e01d20bafe25)
+++ database/migrations/2019_10_25_180620_create_post_securities_table.php	(revision 0c07a90e366407811902a5052f42e01d20bafe25)
@@ -0,0 +1,39 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreatePostSecuritiesTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('post_securities', function (Blueprint $table) {
+            $table->bigIncrements('id');
+            $table->unsignedInteger('role_id');
+            $table->string('phase_ids');
+
+            $table->foreign("role_id")
+                ->references("id")
+                ->on("roles")
+                ->onDelete("cascade");
+
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('post_securities');
+    }
+}
Index: database/migrations/2019_10_25_180621_create_post_reviews_table.php
===================================================================
--- database/migrations/2019_10_25_180621_create_post_reviews_table.php	(revision 0c07a90e366407811902a5052f42e01d20bafe25)
+++ database/migrations/2019_10_25_180621_create_post_reviews_table.php	(revision 0c07a90e366407811902a5052f42e01d20bafe25)
@@ -0,0 +1,46 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreatePostReviewsTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('post_reviews', function (Blueprint $table) {
+            $table->bigIncrements('id');
+            $table->integer('post_id')->unsigned();
+            $table->unsignedBigInteger('post_security_id');
+            $table->integer('current_phase');
+            $table->boolean('is_passed_all_phases')->default(false);
+
+            $table->foreign("post_id")
+                ->references("id")
+                ->on("posts")
+                ->onDelete("cascade");
+
+            $table->foreign("post_security_id")
+                ->references("id")
+                ->on("post_securities")
+                ->onDelete("cascade");
+
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('post_reviews');
+    }
+}
Index: database/seeds/PermissionsTableSeeder.php
===================================================================
--- database/seeds/PermissionsTableSeeder.php	(revision 0924b6c75483e6a4ae83e08487635bdc25436fed)
+++ database/seeds/PermissionsTableSeeder.php	(revision 0c07a90e366407811902a5052f42e01d20bafe25)
@@ -13,18 +13,26 @@
 	{
 		DB::table('permissions')->insert([
-			["name" => "create_user"], 				// Create new user
-			["name" => "access_all_users"], 		// Access to all users to manage
-			["name" => "create_post"], 				// Create new post
-			["name" => "confirm_post"], 			// Confirm new post
-			["name" => "access_all_posts"], 		// Access to all posts to manage
-			["name" => "publish_all_posts"], 		// Publish and review all posts
-			["name" => "publish_post"], 			// Publish your posts only
-			["name" => "edit_all_posts"], 			// Edit all posts
-			["name" => "edit_post"], 				// Edit your posts only
-			["name" => "delete_all_posts"], 		// Delete all posts
-			["name" => "delete_post"], 				// Delete your posts only
-			["name" => "approve_all_comments"], 	// Approve comments of your posts and other users posts
-			["name" => "approve_comment"], 			// Approve your post comments
-			["name" => "access_all_categories"],	// Access to all categories to manage
+			["name" => "create_user"], 				    // Create new user
+			["name" => "access_all_users"], 		    // Access to all users to manage
+			["name" => "create_post"], 				    // Create new post
+			["name" => "confirm_post"], 			    // Confirm new post
+			["name" => "access_all_posts"], 		    // Access to all posts to manage
+			["name" => "publish_all_posts"], 		    // Publish and review all posts
+			["name" => "publish_post"], 			    // Publish your posts only
+			["name" => "edit_all_posts"], 			    // Edit all posts
+			["name" => "edit_post"], 				    // Edit your posts only
+			["name" => "delete_all_posts"], 		    // Delete all posts
+			["name" => "delete_post"], 				    // Delete your posts only
+			["name" => "approve_all_comments"], 	    // Approve comments of your posts and other users posts
+			["name" => "approve_comment"], 			    // Approve your post comments
+			["name" => "access_all_categories"],	    // Access to all categories to manage
+            ["name" => "access_all_phases"],	        // Access to all phases
+            ["name" => "create_phase"],	                // Create new phase
+            ["name" => "edit_phase"],	                // Edit phase
+            ["name" => "delete_phase"],	                // Delete phase
+            ["name" => "access_all_post_securities"],	// Access to all post securities
+            ["name" => "create_post_securities"],	    // Create new post security
+            ["name" => "edit_post_securities"],	        // Edit post security
+            ["name" => "delete_post_securities"],	    // Delete post security
 		]);
 	}
Index: database/seeds/RolesPermissionsTableSeeder.php
===================================================================
--- database/seeds/RolesPermissionsTableSeeder.php	(revision 0924b6c75483e6a4ae83e08487635bdc25436fed)
+++ database/seeds/RolesPermissionsTableSeeder.php	(revision 0c07a90e366407811902a5052f42e01d20bafe25)
@@ -28,5 +28,13 @@
 			["role_id" => 1, "permission_id" => 13],
 			["role_id" => 1, "permission_id" => 14],
-			
+			["role_id" => 1, "permission_id" => 15],
+			["role_id" => 1, "permission_id" => 16],
+			["role_id" => 1, "permission_id" => 17],
+			["role_id" => 1, "permission_id" => 18],
+            ["role_id" => 1, "permission_id" => 19],
+            ["role_id" => 1, "permission_id" => 20],
+            ["role_id" => 1, "permission_id" => 21],
+            ["role_id" => 1, "permission_id" => 22],
+
 			// Editor
 			["role_id" => 2, "permission_id" => 3],
