diff --git a/app/Http/Controllers/PadController.php b/app/Http/Controllers/PadController.php
index 375db1b9987374255d1c65e4272f8eb8e9922417..1c0da82e9e513fd99b9749a634886edba08b8f74 100644
--- a/app/Http/Controllers/PadController.php
+++ b/app/Http/Controllers/PadController.php
@@ -6,6 +6,8 @@ use App\Http\Controllers\Controller;
 use Illuminate\Http\Request;
 use App\Models\PAD;
 use App\Models\Tabelas\Constants;
+use App\Models\User;
+use App\Models\UserPad;
 use Database\Seeders\PadSeeder;
 use Exception;
 use Illuminate\Support\Facades\Auth;
@@ -27,9 +29,24 @@ class PadController extends Controller
             return view('pad.admin.index', ['pads' => $pads]);
         }
         
-        dd('refatorar');
+        if(Auth::user()->isTypeTeacher()) {
+
+            $index_menu = 1;
+            $userPads = UserPad::find()->whereUser(Auth::user()->id)->get();
+            
+            return view('pad.teacher.index', ['index_menu' => $index_menu, 'userPads' => $userPads]);
+        }
     }
 
+    /**
+     * @param integer $id
+     * @return \Illuminate\Http\Response
+     */
+    public function view($id) {
+        $index_menu = 1;
+        return view('pad.teacher.view', ['id' => $id, 'index_menu' => $index_menu]);
+    }
+    
     /**
      * Show the form for creating a new resource.
      *
@@ -45,21 +62,19 @@ class PadController extends Controller
 
     /**
      * Store a newly created resource in storage.
-     *
-     * @param  \Illuminate\Http\Request  $request
-     * @return \Illuminate\Http\Response
+     * @param  \Illuminate\Http\Request $request
      */
     public function store(Request $request)
     {   
         $validated = $request->validate([
-            'nome' => ['required', 'string', 'min:5', 'max:255'],
+            'nome' => ['required', 'string', 'min:6', 'max:255'],
             'status' => ['required', 'integer'],
             'data_inicio' => ['required', 'date', 'before_or_equal:data_fim'],
             'data_fim' => ['required', 'date', 'after_or_equal:data_inicio'],
         ],
         [
             'required' => 'O campo de :attribute é obrigatório',
-            'nome.min' => 'O campo de :attribute deve ter no mínimo 5 letras',
+            'nome.min' => 'O campo de :attribute deve ter no mínimo 6 letras',
             'nome.max' => 'O campo de :attribute deve ter no máximo 255 letras',
             'data_inicio.before_or_equal' => 'A :attribute deve ser uma data anterior ou igual a data de fim',
             'data_fim.after_or_equal' => 'A :attribute deve ser uma data posterior ou igual a data de início',
@@ -69,6 +84,16 @@ class PadController extends Controller
             $model = new Pad($request->all());
             
             if($model->save()) {
+                
+                $users = User::find()->whereType(User::TYPE_TEACHER)->get();
+
+                foreach($users as $user) {
+                    $modelUserPad = new UserPad();
+                    $modelUserPad->user_id = $user->id;
+                    $modelUserPad->pad_id = $model->id;
+                    $modelUserPad->save();
+                }
+
                 return redirect()->route('pad_index')->with('success', 'PAD cadastrado com sucesso!');
             } else {
                 return redirect()->route('pad_index')->with('success', 'Erro ao cadastrar o PAD!');
@@ -137,27 +162,28 @@ class PadController extends Controller
      * Update the specified resource in storage.
      *
      * @param  \Illuminate\Http\Request  $request
-     * @param  int  $id
+     * @param  integer  $id
      * @return \Illuminate\Http\Response
      */
     public function update(Request $request, $id)
     {   
         $validated = $request->validate([
-            'nome' => ['required', 'string', 'min:5', 'max:255'],
+            'nome' => ['required', 'string', 'min:6', 'max:255'],
             'status' => ['required', 'integer'],
             'data_inicio' => ['required', 'date', 'before_or_equal:data_fim'],
             'data_fim' => ['required', 'date', 'after_or_equal:data_inicio'],
         ],
         [
             'required' => 'O campo de :attribute é obrigatório',
-            'nome.min' => 'O campo de :attribute deve ter no mínimo 5 letras',
+            'nome.min' => 'O campo de :attribute deve ter no mínimo 6 letras',
             'nome.max' => 'O campo de :attribute deve ter no máximo 255 letras',
             'data_inicio.before_or_equal' => 'A :attribute deve ser uma data anterior ou igual a data de fim',
             'data_fim.after_or_equal' => 'A :attribute deve ser uma data posterior ou igual a data de início',
         ]);
 
         if($validated) {
-            $model = new Pad($request->all());
+            $model = Pad::find($id);
+            $model->fill($request->all());
             
             if($model->save()) {
                 return redirect()->route('pad_index')->with('success', 'PAD atualizado com sucesso!');
diff --git a/app/Models/User.php b/app/Models/User.php
index f090565c46c99cad949fcf9644ad808380db02cb..dfb728885e5ffaf62539a772aa488335665db40d 100644
--- a/app/Models/User.php
+++ b/app/Models/User.php
@@ -2,6 +2,7 @@
 
 namespace App\Models;
 
+use App\Queries\UserQuery;
 use Illuminate\Contracts\Auth\MustVerifyEmail;
 use Illuminate\Database\Eloquent\Factories\HasFactory;
 use Illuminate\Foundation\Auth\User as Authenticatable;
@@ -135,6 +136,10 @@ class User extends Authenticatable
         return $this->getTable() . '-' . $attribute;
     }
 
+    public static function find() {
+        return new UserQuery(get_called_class());
+    }
+
     /**
      * @return string
      */
diff --git a/app/Models/UserPad.php b/app/Models/UserPad.php
index 6a3b17d8fa4aa964454b4dfec9ace4518650c1e6..032f2b1b57a7031ef4915520ef4a205c85c1b538 100644
--- a/app/Models/UserPad.php
+++ b/app/Models/UserPad.php
@@ -2,6 +2,7 @@
 
 namespace App\Models;
 
+use App\Queries\UserPadQuery;
 use Illuminate\Database\Eloquent\Factories\HasFactory;
 use Illuminate\Database\Eloquent\Model;
 
@@ -14,11 +15,15 @@ class UserPad extends Model
     protected $fillable = ['user_id', 'pad_id'];
 
     public function user() {
-        $this->belongsTo(User::class);
+        return $this->belongsTo(User::class);
     }
 
     public function pad() {
-        $this->belongsTo(PAD::class);
+        return $this->belongsTo(PAD::class);
+    }
+
+    public static function find() {
+        return new UserPadQuery(get_called_class());
     }
 
 }
diff --git a/app/Queries/UserPadQuery.php b/app/Queries/UserPadQuery.php
new file mode 100644
index 0000000000000000000000000000000000000000..14111131c2180655b62238133d1ef548eff0de20
--- /dev/null
+++ b/app/Queries/UserPadQuery.php
@@ -0,0 +1,43 @@
+<?php
+
+namespace App\Queries;
+
+use App\Models\UserPad;
+
+class UserPadQuery {
+
+    private $query;
+
+    public function __construct()
+    {
+        $this->query = UserPad::where([]);
+    }
+
+    /**
+     * @param integer $id
+     * @return UserPadQuery|Builder
+     */
+    public function whereId($id, $expression = '=')
+    {
+        $this->query = $this->query->where('id', $expression, $id);
+        return $this->query;
+    }
+
+    /**
+     * @param integer $user_id
+     * @return UserPadQuery|Builder
+     */
+    public function whereUser($user_id, $expression = '=')
+    {
+        $this->query = $this->query->where('user_id', $expression, $user_id);
+        return $this->query;
+    }
+
+    /**
+     * @return Builder
+     */
+    public function getQuery()
+    {
+        return $this->query;
+    }
+}
\ No newline at end of file
diff --git a/app/Queries/UserQuery.php b/app/Queries/UserQuery.php
index 78e61a4410cb3e2c7d824b123a8b4ac5cf4577d1..85612fba1a39a944f5d7fff4daa2cfc1d5e03b56 100644
--- a/app/Queries/UserQuery.php
+++ b/app/Queries/UserQuery.php
@@ -4,8 +4,40 @@ namespace App\Queries;
 
 use App\Models\User;
 
-class UserQuery extends User {
+class UserQuery {
 
-    // public static function whereType
+    private $query;
 
+    public function __construct()
+    {
+        $this->query = User::where([]);
+    }
+
+    /**
+     * @param integer $id
+     * @return UserQuery|Builder
+     */
+    public function whereId($id, $expression = '=')
+    {
+        $this->query = $this->query->where('id', $expression, $id);
+        return $this->query;
+    }
+
+    /**
+     * @param integer $type
+     * @return UserQuery|Builder
+     */
+    public function whereType($type, $expression = '=')
+    {
+        $this->query = $this->query->where('type', $expression, $type);
+        return $this->query;
+    }
+
+    /**
+     * @return Builder
+     */
+    public function getQuery()
+    {
+        return $this->query;
+    }
 }
\ No newline at end of file
diff --git a/resources/views/pad/index.blade.php b/resources/views/pad/index.blade.php
deleted file mode 100644
index e6e432d691aa4687e1702203ff22b58cde29076a..0000000000000000000000000000000000000000
--- a/resources/views/pad/index.blade.php
+++ /dev/null
@@ -1,51 +0,0 @@
-@extends('layouts.main')
-
-@section('title', 'Unidade')
-@section('header')
-    @include('layouts.header', [
-        'user' => Auth::user(),
-    ])
-@endsection
-@section('nav')
-    @include('layouts.navigation', [
-        'index_menu' => $index_menu,
-    ])
-@endsection
-@section('body')
-    <div class="content">
-        <div class="header" id="bordcab">
-            <h1 class="titulo pt-4 pb-4 mb-3 border-bottom">PLANO DE ATIVIDADES DOCENTES (PAD)</h1>
-            <p class="pb-4 mb-3 text-center text-muted align-items-center"><a href="{{ route('pad_anexo') }}">ANEXO B</a>
-            </p>
-            <p class="pb-4 mb-3 text-center text-muted align-items-center">
-                Insira os dados correspondentes nos campos exibidos abaixo
-            </p>
-        </div>
-    </div>
-    <div class="btn-toolbar" role="toolbar" aria-label="Toolbar with button groups">
-        <div class="btn-group mr-2" role="group" aria-label="First group">
-            <a href="{{ route('dimensao_ensino') }}" class="btn-pad-dimensao">
-                <i class="bi bi-mortarboard-fill"></i>
-                <h2>ENSINO</h2>
-            </a>
-        </div>
-        <div class="btn-group" role="group" aria-label="Third group">
-            <a href="{{ route('dimensao_pesquisa') }}" class="btn-pad-dimensao">
-                <i class="bi bi-search"></i>
-                <h2>PESQUISA</h2>
-            </a>
-        </div>
-        <div class="btn-group mr-2" role="group" aria-label="Second group">
-            <a href="{{ route('dimensao_extensao') }}" class="btn-pad-dimensao">
-                <i class="bi bi-clipboard-data-fill"></i>
-                <h2>EXTENSÃO</h2>
-            </a>
-        </div>
-        <div class="btn-group" role="group" aria-label="Third group">
-            <a href="{{ route('dimensao_gestao') }}" class="btn-pad-dimensao">
-                <i class="bi bi-people-fill"></i>
-                <h2>GESTÃO</h2>
-            </a>
-        </div>
-    </div>
-@endsection
diff --git a/resources/views/pad/teacher/index.blade.php b/resources/views/pad/teacher/index.blade.php
new file mode 100644
index 0000000000000000000000000000000000000000..b107821aae12cf872079ce5b0fe354b30e901ac6
--- /dev/null
+++ b/resources/views/pad/teacher/index.blade.php
@@ -0,0 +1,35 @@
+@extends('layouts.main')
+
+@php
+    use App\Models\Tabelas\Constants;
+@endphp
+
+@section('title', 'Unidade')
+@section('header')
+    @include('layouts.header', [
+        'user' => Auth::user(),
+    ])
+@endsection
+@section('nav')
+    @include('layouts.navigation', [
+        'index_menu' => $index_menu,
+    ])
+@endsection
+@section('body')
+    <div class="d-flex">
+        @foreach($userPads as $userPad)
+            <div class="card mx-2" style="width: 12rem;">
+                <div class="card-body">
+                    @if($userPad->pad->status === Constants::STATUS_ATIVO)
+                        <h1 class="text-center"> <i class="bi bi-book-half"></i> </h1>
+                    @else
+                        <h1 class="text-center"> <i class="bi bi-journal-bookmark-fill"></i> </h1>
+                    @endif
+                    <h5 class="text-center"> PAD: {{ $userPad->pad->nome }} </h4>
+                    <h5 class="text-center"> Status: {{ $userPad->pad->getStatusAsText() }} </h4>
+                    <a class="stretched-link" href="{{ route('pad_view', ['id' => $userPad->pad_id]) }}" target="_blank"></a>
+                </div>
+            </div>
+        @endforeach
+    </div>
+@endsection
diff --git a/resources/views/pad/teacher/view.blade.php b/resources/views/pad/teacher/view.blade.php
new file mode 100644
index 0000000000000000000000000000000000000000..af0196a35dcbc5891de739078cc370e5568b5df5
--- /dev/null
+++ b/resources/views/pad/teacher/view.blade.php
@@ -0,0 +1,73 @@
+@extends('layouts.main')
+
+@php
+    use App\Models\Tabelas\Constants;
+@endphp
+
+@section('title', 'Unidade')
+@section('header')
+    @include('layouts.header', [
+        'user' => Auth::user(),
+    ])
+@endsection
+@section('nav')
+    @include('layouts.navigation', [
+        'index_menu' => $index_menu,
+    ])
+@endsection
+@section('body')
+    <!-- <div class="content"> -->
+        <!-- <div class="header" id="bordcab"> -->
+            <!-- <h1 class="titulo pt-4 pb-4 mb-3 border-bottom">PLANO DE ATIVIDADES DOCENTES (PAD)</h1> -->
+            <!-- <p class="pb-4 mb-3 text-center text-muted align-items-center"><a href="{{ route('pad_anexo') }}">ANEXO B</a> -->
+            <!-- </p> -->
+            <!-- <p class="pb-4 mb-3 text-center text-muted align-items-center"> -->
+                <!-- Insira os dados correspondentes nos campos exibidos abaixo -->
+            <!-- </p> -->
+        <!-- </div> -->
+    <!-- </div> -->
+
+<div class="d-flex">
+
+    <div class="card mx-2" style="width: 10rem;">
+        <div class="card-body">
+            <h2 class="text-center"> <i class="bi bi-mortarboard-fill"></i> </h2>
+            <h3 class="text-center">Ensino</h3>
+            <a class="stretched-link" href="{{ route('dimensao_ensino') }}" class="btn-pad-dimensao"></a>
+        </div>
+    </div>
+
+    <div class="card mx-2" style="width: 10rem;">
+        <div class="card-body">
+            <h2 class="text-center"> <i class="bi bi-search"></i> </h2>
+            <h3 class="text-center">Pesquisa</h3>
+            <a class="stretched-link" href="{{ route('dimensao_pesquisa') }}" class="btn-pad-dimensao"></a>
+        </div>
+    </div>
+
+    <div class="card mx-2" style="width: 10rem;">
+        <div class="card-body">
+            <h2 class="text-center"> <i class="bi bi-clipboard-data-fill"></i> </h2>
+            <h3 class="text-center">Extensão</h3>
+            <a class="stretched-link" href="{{ route('dimensao_extensao') }}" class="btn-pad-dimensao"></a>
+        </div>
+    </div>
+
+    <div class="card mx-2" style="width: 10rem;">
+        <div class="card-body">
+            <h2 class="text-center"> <i class="bi bi-people-fill"></i> </h2>
+            <h3 class="text-center">Gestão</h3>
+            <a class="stretched-link" href="{{ route('dimensao_gestao') }}" class="btn-pad-dimensao"></a>
+        </div>
+    </div>
+
+    <div class="card mx-2" style="width: 10rem;">
+        <div class="card-body">
+            <h2 class="text-center"> <i class="bi bi-file-earmark-text-fill"></i> </h2>
+            <h3 class="text-center">Anexo</h3>
+            <a class="stretched-link" href="{{-- route('') --}}" class="btn-pad-dimensao"></a>
+        </div>
+    </div>
+    
+</div>
+@endsection
diff --git a/routes/web.php b/routes/web.php
index 6b292652e7bcf8fe8e03c624b2ff75637e91e681..042c48d79e899a24ba1551240554f41921db9204 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -81,6 +81,19 @@ Route::prefix('/pad')->group(function () {
     Route::delete('/delete/{id}', [PadController::class, 'delete'])->name('pad_delete');
 });
 
+Route::prefix('/pad/professor')->group(function () {
+    Route::get('/index', [PadController::class, 'index'])->name('pad_index');
+    Route::get('/view/{id}', [PadController::class, 'view'])->name('pad_view');
+    Route::get('/anexo', [PadController::class, 'anexo'])->name('pad_anexo');
+});
+
+Route::prefix('/pad/dimensao/')->group(function () {
+    Route::get('/gestao', [GestaoController::class, 'index'])->name('dimensao_gestao');
+    Route::get('/ensino', [EnsinoController::class, 'index'])->name('dimensao_ensino');
+    Route::get('/pesquisa', [PesquisaController::class, 'index'])->name('dimensao_pesquisa');
+    Route::get('/extensao', [ExtensaoController::class, 'index'])->name('dimensao_extensao');
+});
+
 Route::prefix('/coordenador')->group(function () {
     Route::get('/index', [CoordenadorController::class, 'index'])->name('coordenador_index');
     Route::get('/create', [CoordenadorController::class, 'create'])->name('coordenador_create');
@@ -103,13 +116,6 @@ Route::prefix('/diretor')->group(function () {
 Route::get('/listar/unidade', [UnidadeController::class, 'getAll'])->name('listar_unidades');
 Route::get('/list/campus/{unidade_id}', [CampusController::class, 'findByUnidade'])->name('list_campus_by_unidade');
 
-Route::prefix('/pad/dimensao/')->group(function () {
-    Route::get('/gestao', [GestaoController::class, 'index'])->name('dimensao_gestao');
-    Route::get('/ensino', [EnsinoController::class, 'index'])->name('dimensao_ensino');
-    Route::get('/pesquisa', [PesquisaController::class, 'index'])->name('dimensao_pesquisa');
-    Route::get('/extensao', [ExtensaoController::class, 'index'])->name('dimensao_extensao');
-});
-
 Route::prefix('/pad/dimensao/ensino')->group(function () {
     Route::post('/aulas/create', [EnsinoAulaController::class, 'create'])->name('ensino_aula_create');
     // Route::get('/ensino/aulas/update', [EnsinoAulaController::class, 'update'])->name('ensino_aula_update');