sql revisi1

This commit is contained in:
hafid29 2022-09-15 00:20:23 +07:00
parent 9d12824a24
commit 961830e364
20 changed files with 360 additions and 330 deletions

View File

@ -37,7 +37,7 @@ class StudentController extends Controller
return view('student/pythoncourse/main'); return view('student/pythoncourse/main');
} }
public function sql() { public function sql() {
return view('student/sql/learning'); return view('student/sql/main');
} }
// public function asynctask() { // public function asynctask() {

View File

@ -94,8 +94,8 @@
<p class="description">Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small- and large-scale projects.</p> <p class="description">Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small- and large-scale projects.</p>
</div> </div>
</div> </div>
{{-- mysql --}}
<div onclick="window.open('Database','mywindow');" class="col-md-6 col-lg-3 d-flex align-items-stretch mb-5"> <div onclick="window.open('{{URL::to('/student/sql/')}}','sql-aplas');" class="col-md-6 col-lg-3 d-flex align-items-stretch mb-5">
<div class="icon-box" data-aos="fade-up" data-aos-delay="300"> <div class="icon-box" data-aos="fade-up" data-aos-delay="300">
<div class="icon"><i class='bx bxs-data'></i></div> <div class="icon"><i class='bx bxs-data'></i></div>
<h4 class="title"><a href="">Database</a></h4> <h4 class="title"><a href="">Database</a></h4>
@ -136,7 +136,7 @@
<!-- // postgree // --> <!-- // postgree // -->
<div onclick="window.open('{{URL::to('/student/mysqlcourse/')}}','mysqlcourse-aplas');" class="col-md-6 col-lg-3 d-flex align-items-stretch mb-5"> <div onclick="window.open('{{URL::to('/student/sqlcourse/')}}','sqlcourse-aplas');" class="col-md-6 col-lg-3 d-flex align-items-stretch mb-5">
<div class="icon-box" data-aos="fade-up" data-aos-delay="100"> <div class="icon-box" data-aos="fade-up" data-aos-delay="100">
<div class="icon"><i class='bx bxl-medium-old'></i></div> <div class="icon"><i class='bx bxl-medium-old'></i></div>
<h4 class="title"><a href="">MysqlCourse</a></h4> <h4 class="title"><a href="">MysqlCourse</a></h4>

View File

@ -4,5 +4,5 @@
Login as {{ Auth::user()->roleid }} Login as {{ Auth::user()->roleid }}
</div> </div>
<!-- Default to the left --> <!-- Default to the left -->
<strong>Copyright &copy; 2022 <a href="http://learning.aplas.online/iclop/">Intelligent Computer Assisted Programming Learning Platform(iCLOP)</a>.</strong> All rights reserved. <strong>Copyright &copy; 2020 <a href="https://aplas.org">Android Programming Learning Assistance System (APLAS)</a>.</strong> All rights reserved.
</footer> </footer>

View File

@ -0,0 +1,50 @@
<nav class="main-header navbar navbar-expand navbar-white navbar-light" style="background-color: wheat;">
<!-- Left navbar links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" data-widget="pushmenu" href="#"><i class="fas fa-bars"></i></a>
</li>
<li class="nav-item d-none d-sm-inline-block">
<a href="{{URL::to('student')}}" class="nav-link">Home</a>
</li>
<!--
<li class="nav-item d-none d-sm-inline-block">
<a href="#" class="nav-link">Contact</a>
</li>
-->
<li class="nav-item">
<a href="{{ route('logout')}}" class="nav-link"
onclick="event.preventDefault(); document.getElementById('logout-form').submit();">
Logout
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
{{ csrf_field() }}
</form>
</li>
</ul>
<div class="float-right d-none d-sm-inline">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>
<div class="float-right d-none d-sm-inline"><i>Teacher Name :
@php
$teacher=\App\User::find(Auth::user()->uplink);
//echo Auth::user()->uplink;
echo (is_object ($teacher))?$teacher['name']:'-';
@endphp
</i></div>
<!-- SEARCH FORM
<form class="form-inline ml-3">
<div class="input-group input-group-sm">
<input class="form-control form-control-navbar" type="search" placeholder="Search" aria-label="Search">
<div class="input-group-append">
<button class="btn btn-navbar" type="submit">
<i class="fas fa-search"></i>
</button>
</div>
</div>
</form>
-->
</nav>

View File

@ -0,0 +1,91 @@
<!DOCTYPE html>
<!--
This is a starter template page. Use this page to start your new project from
scratch. This page gets rid of all links and provides the needed markup only.
-->
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>APLAS - Administrator Site</title>
<!-- Font Awesome Icons -->
<link rel="stylesheet" href="{{ asset('lte/plugins/fontawesome-free/css/all.min.css') }}">
<!-- Theme style -->
<link rel="stylesheet" href="{{ asset('lte/dist/css/adminlte.min.css') }}">
<!-- Google Font: Source Sans Pro -->
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700" rel="stylesheet">
<!-- yield for script -->
@yield('css')
@yield('script')
</head>
<body class="hold-transition sidebar-mini">
<div class="wrapper">
<!-- Navbar -->
@include('student/sql/header')
<!-- /.navbar -->
<!-- Main Sidebar Container -->
@include('student/sql/sidebar')
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<!-- /.content-header -->
<!-- Main content -->
@yield('content')
<!-- /.content -->
@if (isset($status))
@if ($status != 'active')
<div class="content">
<center>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h1>Sorry, you can not use this features yet!!</h1>
<h2>Your account need to be validated by the teacher, please kindly wait to be validated.</h2>
<p>&nbsp;</p>
<img src="{{ asset('lte/dist/img/logo-aplas.png') }}" alt="APLAS logo" class="brand-image elevation-3" style="opacity: .8">
</center>
</div>
@endif
@endif
</div>
<!-- /.content-wrapper -->
<!-- Control Sidebar -->
<aside class="control-sidebar control-sidebar-dark">
<!-- Control sidebar content goes here -->
<div class="p-3">
<h5>Title</h5>
<p>Sidebar content</p>
</div>
</aside>
<!-- /.control-sidebar -->
<!-- Main Footer -->
@include('student/sql/footer')
</div>
<!-- ./wrapper -->
<!-- REQUIRED SCRIPTS -->
<!-- jQuery -->
<script src="{{ asset('lte/plugins/jquery/jquery.min.js') }}"></script>
<!-- Bootstrap 4 -->
<script src="{{ asset('lte/plugins/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
<!-- AdminLTE App -->
<script src="{{ asset('lte/dist/js/adminlte.min.js') }}"></script>
@yield('js')
</body>
</html>

View File

@ -1,10 +1,10 @@
@extends('student/pythoncourse/home') @extends('student/sql/home')
@section('content') @section('content')
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<div class="card"> <div class="card">
<div class="card-header" style="background-color: #F8F8FF"> <div class="card-header" style="background-color: #F8F8FF">
<h3 class="card-title">Start to learn Basic Python with iCLOP</h3> <h3 class="card-title">Start to learn Android Programming with iCLOP</h3>
<div class="card-tools"> <div class="card-tools">
</div> </div>

View File

@ -0,0 +1,71 @@
<aside class="main-sidebar sidebar-dark-primary elevation-4">
<!-- Brand Logo -->
<a href="#" class="brand-link">
<img src="{{ asset('lte/dist/img/logo-aplas.png') }}" alt="APLAS logo" class="brand-image elevation-3"
style="opacity: .8">
<span class="brand-text font-weight-light">WebApps</span>
</a>
<!-- Sidebar -->
<div class="sidebar">
<!-- Sidebar user panel (optional) -->
<div class="user-panel mt-3 pb-3 mb-3 d-flex">
<div class="image">
<img src="{{ asset('lte/dist/img/avatar3.png') }}" class="img-circle elevation-2" alt="User Image">
</div>
<div class="info">
<a href="#" class="d-block">{{ Auth::user()->name }}</span>
</div>
</div>
<!-- Sidebar Menu -->
<nav class="mt-2">
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu"
data-accordion="false">
<!-- Add icons to the links using the .nav-icon class
with font-awesome or any other icon font library -->
<!------------------------------------- SQL ------------------------------------>
<li class="treeview">
<a href="#" class="nav-link" style="background-color:#CDF1CB;color:black;">
<i class="nav-icon fas fa-database"></i>
<p>&nbsp;<b>SQL</b>
</p>
</a>
<ul role="menu" class="nav nav-pills nav-sidebar flex-column pt-1">
<li class="nav-item">
<a href="{{ route('student sql learning') }}"
class="nav-link {{ request()->route()->getName() == 'student sql learning'? 'bg-light': '' }}">
<i class="nav-icon fas fa-angle-right"></i>
<p>Pembelajaran</p>
</a>
</li>
<li class="nav-item">
<a href="{{ route('student sql exercise') }}"
class="nav-link {{ request()->route()->getName() == 'student sql exercise'? 'bg-light': '' }}">
<i class="nav-icon fas fa-angle-right"></i>
<p>Latihan Teori</p>
</a>
</li>
<li class="nav-item">
<a href="{{ route('student sql exam') }}"
class="nav-link {{ request()->route()->getName() == 'student sql exam'? 'bg-light': '' }}">
<i class="nav-icon fas fa-angle-right"></i>
<p>Ujian Teori</p>
</a>
</li>
<li class="nav-item">
<a href="{{ route('student sql practice') }}"
class="nav-link {{ request()->route()->getName() == 'student sql practice'? 'bg-light': '' }}">
<i class="nav-icon fas fa-angle-right"></i>
<p>Ujian Praktek</p>
</a>
</li>
</ul>
</li>
<!------------------------------------- SQL ------------------------------------>
</ul>
</nav>
<!-- /.sidebar-menu -->
</div>
<!-- /.sidebar -->
</aside>

View File

@ -1,24 +0,0 @@
<nav class="main-header navbar navbar-expand navbar-white navbar-light" style="background-color: lavender;">
<!-- Left navbar links -->
<ul class="navbar-nav" style="font-size:120%;">
<li class="nav-item">
<a class="nav-link" data-widget="pushmenu" href="#"><i class="fas fa-bars"></i></a>
</li>
<li class="nav-item d-none d-sm-inline-block">
<a href="{{URL::to('home')}}" class="nav-link">Home</a>
</li>
<li class="nav-item">
<a href="{{ route('logout')}}" class="nav-link"
onclick="event.preventDefault(); document.getElementById('logout-form').submit();">
Logout
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
{{ csrf_field() }}
</form>
</li>
</ul>
</nav>

View File

@ -1,95 +0,0 @@
<!DOCTYPE html>
<!--
This is a starter template page. Use this page to start your new project from
scratch. This page gets rid of all links and provides the needed markup only.
-->
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>iCLOP - Administrator Site</title>
<!-- Font Awesome Icons -->
<link rel="stylesheet" href="{{asset('lte/plugins/fontawesome-free/css/all.min.css')}}">
<!-- Theme style -->
<link rel="stylesheet" href="{{asset('lte/dist/css/adminlte.min.css')}}">
<!-- Google Font: Source Sans Pro -->
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700" rel="stylesheet">
</head>
<body class="hold-transition sidebar-mini">
<div class="wrapper">
<!-- Navbar -->
@include('student/pythoncourse/header')
<!-- /.navbar -->
<!-- Main Sidebar Container -->
@include('student/pythoncourse/sidebar')
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<!-- /.content-header -->
<!-- Main content -->
@yield('content')
<!-- /.content -->
@if (isset($count))
@if ($count==0)
<div class="content">
<center>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h1>Sorry, you can not use this features yet!!</h1>
<h2>You are not assigned yet by a teacher, please kindly wait to be assigned.</h2>
<p>&nbsp;</p>
<img src="{{asset('lte/dist/img/logo-aplas.png')}}" alt="APLAS logo" class="brand-image elevation-3"
style="opacity: .8">
</center>
</div>
@endif
@endif
</div>
<!-- /.content-wrapper -->
<!-- Control Sidebar -->
<aside class="control-sidebar control-sidebar-dark">
<!-- Control sidebar content goes here -->
<div class="p-3">
<h5>Title</h5>
<p>Sidebar content</p>
</div>
</aside>
<!-- /.control-sidebar -->
<!-- Main Footer -->
@include('student/pythoncourse/footer')
</div>
<!-- ./wrapper -->
<!-- REQUIRED SCRIPTS -->
<!-- jQuery -->
<script src="{{asset('lte/plugins/jquery/jquery.min.js')}}"></script>
<!-- Bootstrap 4 -->
<script src="{{asset('lte/plugins/bootstrap/js/bootstrap.bundle.min.js')}}"></script>
<!-- AdminLTE App -->
<script src="{{asset('lte/dist/js/adminlte.min.js')}}"></script>
</body>
</html>
<!-- -->
<!-- -->

View File

@ -1,58 +0,0 @@
<aside class="main-sidebar sidebar-dark-primary elevation-4">
<!-- Brand Logo -->
<a href="#" class="brand-link">
<img src="{{asset('lte/dist/img/iclop-logo.png')}}" alt="iCLOP logo" class="brand-image elevation-3"
style="width:120px;height:60px;">
<br>
<span class="brand-text font-weight-light" style="font-size:160%;"> &nbsp; Python Course</span>
</a>
<!-- Sidebar -->
<div class="sidebar">
<!-- Sidebar user panel (optional) -->
<div class="user-panel mt-3 pb-3 mb-3 d-flex">
<div class="image">
<img src="{{asset('lte/dist/img/avatar3.png')}}" class="img-circle elevation-2" alt="User Image">
</div>
<div class="info">
<a href="#" class="d-block">{{ Auth::user()->name }}</span>
</div>
</div>
<!-- Sidebar Menu -->
<nav class="mt-2">
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
<!-- Add icons to the links using the .nav-icon class
with font-awesome or any other icon font library -->
<li class="treeview">
<a href="#" class="nav-link" style="background-color:#dce775;color:black;">
<i class="nav-icon fab fa-python"></i>
<p>&nbsp;<b>Learning Basic Python</b>
</p>
</a>
<ul role="menu" class="nav nav-pills nav-sidebar flex-column">
<li class="nav-item">
<a href="{{URL::to('student/pythoncourse/python/task')}}" class="nav-link">
<i class="nav-icon fas fa-angle-right"></i>
<p>
Start Learning <span class="right badge badge-danger">New</span>
</p>
</a>
</li>
<li class="nav-item">
<a href="{{URL::to('student/pythoncourse/python/result')}}" class="nav-link"><i
class="nav-icon fas fa-angle-right"></i>
<p>Learning Results
</p>
</a>
</li>
</ul>
</nav>
<!-- /.sidebar-menu -->
</div>
<!-- /.sidebar -->
</aside>

View File

@ -15,22 +15,24 @@ use App\Http\Controllers\python\ExercisePythonController;
use App\Http\Controllers\python\PythonLearningTopicsController; use App\Http\Controllers\python\PythonLearningTopicsController;
use App\Http\Controllers\python\PythonPercobaanController; use App\Http\Controllers\python\PythonPercobaanController;
use App\Http\Controllers\python\ResultController; use App\Http\Controllers\python\ResultController;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Auth;
Route::get('/', function () { Route::get('/', function () {
return view('welcome'); return view('welcome');
}); });
Route::group(['middleware' => ['auth', 'admin']], function() { Route::group(['middleware' => ['auth', 'admin']], function () {
Route::get('/admin', 'AdminController@index'); Route::get('/admin', 'AdminController@index');
Route::resource('/admin/topics', 'TopicController'); Route::resource('/admin/topics', 'TopicController');
Route::resource('/admin/admintasks', 'TaskController'); Route::resource('/admin/admintasks', 'TaskController');
Route::resource('/admin/learning', 'LearningFileController'); Route::resource('/admin/learning', 'LearningFileController');
Route::resource('/admin/resources', 'ResourcesController'); Route::resource('/admin/resources', 'ResourcesController');
Route::resource('/admin/testfiles', 'TestFilesController'); Route::resource('/admin/testfiles', 'TestFilesController');
Route::get('/admin/testfiles/create/{topic}', 'TestFilesController@create'); Route::get('/admin/testfiles/create/{topic}', 'TestFilesController@create');
Route::resource('/admin/assignteacher', 'AssignTeacherController'); Route::resource('/admin/assignteacher', 'AssignTeacherController');
Route::resource('/admin/assignteacher/index', 'AssignTeacherController@index'); Route::resource('/admin/assignteacher/index', 'AssignTeacherController@index');
Route::resource('/admin/tmember', 'TeacherClassMemberController'); Route::resource('/admin/tmember', 'TeacherClassMemberController');
Route::resource('/admin/studentres', 'StudentValidController'); Route::resource('/admin/studentres', 'StudentValidController');
Route::get('/admin/studentres/{student}/{id}', 'StudentValidController@showteacher'); Route::get('/admin/studentres/{student}/{id}', 'StudentValidController@showteacher');
Route::get('/admin/uploadsrc/{student}/{id}', 'StudentValidController@showsource'); Route::get('/admin/uploadsrc/{student}/{id}', 'StudentValidController@showsource');
@ -64,72 +66,70 @@ Route::group(['middleware' => ['auth', 'admin']], function() {
Route::get('/admin/python/percobaan', [PythonPercobaanController::class, 'index']); Route::get('/admin/python/percobaan', [PythonPercobaanController::class, 'index']);
Route::get('/admin/python/tambahpercobaan', [PythonPercobaanController::class, 'tambah']); Route::get('/admin/python/tambahpercobaan', [PythonPercobaanController::class, 'tambah']);
Route::get('/admin/python/editpercobaan/{id_percobaan}', [PythonPercobaanController::class, 'edit']); Route::get('/admin/python/editpercobaan/{id_percobaan}', [PythonPercobaanController::class, 'edit']);
// proses tambah + update // proses tambah + update
Route::post('/admin/python/prosestambahtopik', [PythonLearningTopicsController::class, 'proses_tambah']); Route::post('/admin/python/prosestambahtopik', [PythonLearningTopicsController::class, 'proses_tambah']);
Route::post('/admin/python/prosesedittopik/{id_topik}', [PythonLearningTopicsController::class, 'proses_edit']); Route::post('/admin/python/prosesedittopik/{id_topik}', [PythonLearningTopicsController::class, 'proses_edit']);
Route::post('/admin/python/prosestambahpercobaan', [PythonPercobaanController::class, 'proses_tambah']); Route::post('/admin/python/prosestambahpercobaan', [PythonPercobaanController::class, 'proses_tambah']);
Route::post('/admin/python/proseseditpercobaan/{id_percobaan}', [PythonPercobaanController::class, 'proses_edit']); Route::post('/admin/python/proseseditpercobaan/{id_percobaan}', [PythonPercobaanController::class, 'proses_edit']);
// proses hapus // proses hapus
Route::get('/admin/python/proseshapustopik/{id_topik}', [PythonLearningTopicsController::class, 'proses_hapus']); Route::get('/admin/python/proseshapustopik/{id_topik}', [PythonLearningTopicsController::class, 'proses_hapus']);
Route::get('/admin/python/proseshapuspercobaan/{id_percobaan}', [PythonPercobaanController::class, 'proses_hapus']); Route::get('/admin/python/proseshapuspercobaan/{id_percobaan}', [PythonPercobaanController::class, 'proses_hapus']);
/* ----------------------------------- SQL ---------------------------------- */ /* ----------------------------------- SQL ---------------------------------- */
Route::group(['prefix' => 'admin/sql'], function () { Route::group(['prefix' => 'admin/sql'], function () {
Route::group(['prefix' => 'pembelajaran'], function () { Route::group(['prefix' => 'pembelajaran'], function () {
Route::get('', 'SQLController@learning')->name('admin sql learning'); Route::get('', 'SQLController@learning')->name('admin sql learning');
Route::get('/read', 'SQLController@learningRead')->name('admin sql learning read'); Route::get('/read', 'SQLController@learningRead')->name('admin sql learning read');
Route::get('/detail/{id}', 'SQLController@learningRead')->name('admin sql learning detail'); Route::get('/detail/{id}', 'SQLController@learningRead')->name('admin sql learning detail');
Route::post('/create', 'SQLController@learningStore')->name('admin sql learning create'); Route::post('/create', 'SQLController@learningStore')->name('admin sql learning create');
Route::post('/update/{id}', 'SQLController@learningUpdate')->name('admin sql learning update'); Route::post('/update/{id}', 'SQLController@learningUpdate')->name('admin sql learning update');
Route::get('/delete/{id}', 'SQLController@learningDelete')->name('admin sql learning delete'); Route::get('/delete/{id}', 'SQLController@learningDelete')->name('admin sql learning delete');
Route::group(['prefix' => 'log'], function () { Route::group(['prefix' => 'log'], function () {
Route::get('/read', 'SQLController@learningLogRead')->name('admin sql learning log read'); Route::get('/read', 'SQLController@learningLogRead')->name('admin sql learning log read');
Route::get('/detail/{id}', 'SQLController@learningLogRead')->name('admin sql learning log detail'); Route::get('/detail/{id}', 'SQLController@learningLogRead')->name('admin sql learning log detail');
}); });
});
Route::group(['prefix' => 'praktek'], function () {
Route::get('', 'SQLController@practice')->name('admin sql practice');
Route::get('/read', 'SQLController@practiceRead')->name('admin sql practice read');
Route::get('/detail/{id}', 'SQLController@practiceRead')->name('admin sql practice detail');
Route::post('/create', 'SQLController@practiceStore')->name('admin sql practice create');
Route::post('/update/{id}', 'SQLController@practiceUpdate')->name('admin sql practice update');
Route::get('/delete/{id}', 'SQLController@practiceDelete')->name('admin sql practice delete');
Route::get('/log/read', 'SQLController@practiceLogRead')->name('admin sql practice log read');
});
Route::group(['prefix' => 'latihan'], function () {
Route::get('', 'SQLController@exercise')->name('admin sql exercise');
Route::get('/read', 'SQLController@exerciseRead')->name('admin sql exercise read');
Route::get('/detail/{id}', 'SQLController@exerciseRead')->name('admin sql exercise detail');
Route::post('/create', 'SQLController@exerciseStore')->name('admin sql exercise create');
Route::post('/update/{id}', 'SQLController@exerciseUpdate')->name('admin sql exercise update');
Route::get('/delete/{id}', 'SQLController@exerciseDelete')->name('admin sql exercise delete');
Route::get('/log/read', 'SQLController@exerciseLogRead')->name('admin sql exercise log read');
});
Route::group(['prefix' => 'ujian'], function () {
Route::get('', 'SQLController@exam')->name('admin sql exam');
Route::get('/read', 'SQLController@examRead')->name('admin sql exam read');
Route::get('/detail/{id}', 'SQLController@examRead')->name('admin sql exam detail');
Route::post('/create', 'SQLController@examStore')->name('admin sql exam create');
Route::post('/update/{id}', 'SQLController@examUpdate')->name('admin sql exam update');
Route::get('/delete/{id}', 'SQLController@examDelete')->name('admin sql exam delete');
Route::get('/log/read', 'SQLController@examLogRead')->name('admin sql exam log read');
});
}); });
/* ----------------------------------- SQL ---------------------------------- */
Route::group(['prefix' => 'praktek'], function () {
Route::get('', 'SQLController@practice')->name('admin sql practice');
Route::get('/read', 'SQLController@practiceRead')->name('admin sql practice read');
Route::get('/detail/{id}', 'SQLController@practiceRead')->name('admin sql practice detail');
Route::post('/create', 'SQLController@practiceStore')->name('admin sql practice create');
Route::post('/update/{id}', 'SQLController@practiceUpdate')->name('admin sql practice update');
Route::get('/delete/{id}', 'SQLController@practiceDelete')->name('admin sql practice delete');
Route::get('/log/read', 'SQLController@practiceLogRead')->name('admin sql practice log read');
});
Route::group(['prefix' => 'latihan'], function () {
Route::get('', 'SQLController@exercise')->name('admin sql exercise');
Route::get('/read', 'SQLController@exerciseRead')->name('admin sql exercise read');
Route::get('/detail/{id}', 'SQLController@exerciseRead')->name('admin sql exercise detail');
Route::post('/create', 'SQLController@exerciseStore')->name('admin sql exercise create');
Route::post('/update/{id}', 'SQLController@exerciseUpdate')->name('admin sql exercise update');
Route::get('/delete/{id}', 'SQLController@exerciseDelete')->name('admin sql exercise delete');
Route::get('/log/read', 'SQLController@exerciseLogRead')->name('admin sql exercise log read');
});
Route::group(['prefix' => 'ujian'], function () {
Route::get('', 'SQLController@exam')->name('admin sql exam');
Route::get('/read', 'SQLController@examRead')->name('admin sql exam read');
Route::get('/detail/{id}', 'SQLController@examRead')->name('admin sql exam detail');
Route::post('/create', 'SQLController@examStore')->name('admin sql exam create');
Route::post('/update/{id}', 'SQLController@examUpdate')->name('admin sql exam update');
Route::get('/delete/{id}', 'SQLController@examDelete')->name('admin sql exam delete');
Route::get('/log/read', 'SQLController@examLogRead')->name('admin sql exam log read');
});
});
/* ----------------------------------- SQL ---------------------------------- */
}); });
Route::group(['middleware' => ['auth', 'teacher']], function() { Route::group(['middleware' => ['auth', 'teacher']], function () {
Route::get('/teacher', 'TeacherController@index'); Route::get('/teacher', 'TeacherController@index');
Route::resource('/teacher/assignstudent', 'AssignStudentController'); Route::resource('/teacher/assignstudent', 'AssignStudentController');
Route::resource('/teacher/member', 'StudentMemberController'); Route::resource('/teacher/member', 'StudentMemberController');
@ -138,11 +138,11 @@ Route::group(['middleware' => ['auth', 'teacher']], function() {
Route::resource('/teacher/studentres', 'StudentValidController'); Route::resource('/teacher/studentres', 'StudentValidController');
Route::resource('/teacher/crooms', 'ClassroomController'); Route::resource('/teacher/crooms', 'ClassroomController');
Route::get('/teacher/studentres/{student}/{id}', 'StudentValidController@showteacher'); Route::get('/teacher/studentres/{student}/{id}', 'StudentValidController@showteacher');
Route::get('/teacher/uploadsrc/{student}/{id}', 'StudentValidController@showsource'); Route::get('/teacher/uploadsrc/{student}/{id}', 'StudentValidController@showsource');
Route::resource('/teacher/rankview', 'StudentResultRankController'); Route::resource('/teacher/rankview', 'StudentResultRankController');
Route::resource('/teacher/jplasdown', 'JplasDownloadController'); Route::resource('/teacher/jplasdown', 'JplasDownloadController');
// Python // Python
//tampilan result mahasiswa dari dosen //tampilan result mahasiswa dari dosen
Route::get('teacher/python/resultstudent', [ResultController::class, 'student_submit']); Route::get('teacher/python/resultstudent', [ResultController::class, 'student_submit']);
Route::get('teacher/python/resultstudentdetail/{id_topik}/{id_percobaan}', [ResultController::class, 'detail']); Route::get('teacher/python/resultstudentdetail/{id_topik}/{id_percobaan}', [ResultController::class, 'detail']);
@ -157,12 +157,11 @@ Route::group(['middleware' => ['auth', 'teacher']], function() {
Route::get('/teacher/uiuploadsrc/{student}/{topicid}/{id}', 'UiValidController@showsource'); Route::get('/teacher/uiuploadsrc/{student}/{topicid}/{id}', 'UiValidController@showsource');
Route::resource('/teacher/completeness', 'StudentCompletenessController'); Route::resource('/teacher/completeness', 'StudentCompletenessController');
}); });
Route::group(['middleware' => ['auth', 'student']], function() { Route::group(['middleware' => ['auth', 'student']], function () {
//Android// //Android//
Route::patch('/student/androidcourse/results/valsub',['as' => 'results.valsub', 'uses' => 'AndroidTaskResultController@valsub']); Route::patch('/student/androidcourse/results/valsub', ['as' => 'results.valsub', 'uses' => 'AndroidTaskResultController@valsub']);
Route::get('student/androidcourse/results/create/{topic}', 'AndroidTaskResultController@create'); Route::get('student/androidcourse/results/create/{topic}', 'AndroidTaskResultController@create');
Route::get('/student/androidcourse', 'StudentController@androidcourse'); Route::get('/student/androidcourse', 'StudentController@androidcourse');
Route::get('/student/androidcourse/topic', 'StudentController@androidcoursetopic'); Route::get('/student/androidcourse/topic', 'StudentController@androidcoursetopic');
@ -172,8 +171,8 @@ Route::group(['middleware' => ['auth', 'student']], function() {
Route::get('student/lfiles/androidcourse/create/{topic}', 'AndroidFileResultController@create'); Route::get('student/lfiles/androidcourse/create/{topic}', 'AndroidFileResultController@create');
Route::get('student/lfiles/androidcourse/valid/{topic}', 'AndroidFileResultController@submit'); Route::get('student/lfiles/androidcourse/valid/{topic}', 'AndroidFileResultController@submit');
Route::get('student/lfiles/androidcourse/delete/{id}/{topic}', 'AndroidFileResultController@delete'); Route::get('student/lfiles/androidcourse/delete/{id}/{topic}', 'AndroidFileResultController@delete');
// Flutter // // Flutter //
Route::patch('/student/fluttercourse/results/valsub',['as' => 'results.valsub', 'uses' => 'FlutterTaskResultController@valsub']); Route::patch('/student/fluttercourse/results/valsub', ['as' => 'results.valsub', 'uses' => 'FlutterTaskResultController@valsub']);
Route::get('/student/fluttercourse/results/create/{topic}', 'FlutterTaskResultController@create'); Route::get('/student/fluttercourse/results/create/{topic}', 'FlutterTaskResultController@create');
Route::get('/student/fluttercourse', 'StudentController@fluttercourse'); Route::get('/student/fluttercourse', 'StudentController@fluttercourse');
Route::get('/student/fluttercourse/topic', 'StudentController@fluttercoursetopic'); Route::get('/student/fluttercourse/topic', 'StudentController@fluttercoursetopic');
@ -186,8 +185,8 @@ Route::group(['middleware' => ['auth', 'student']], function() {
Route::resource('/student/flutterexercise', 'FlutterExerciseStdController'); Route::resource('/student/flutterexercise', 'FlutterExerciseStdController');
Route::resource('/student/flutterexercisesubmission', 'FlutterExerciseSubmissionController'); Route::resource('/student/flutterexercisesubmission', 'FlutterExerciseSubmissionController');
Route::resource('/student/flutterexercisevalid', 'FlutterExerciseStdValidController'); Route::resource('/student/flutterexercisevalid', 'FlutterExerciseStdValidController');
//NodeJs// //NodeJs//
Route::patch('/student/nodejscourse/results/valsub',['as' => 'results.valsub', 'uses' => 'NodejsTaskResultController@valsub']); Route::patch('/student/nodejscourse/results/valsub', ['as' => 'results.valsub', 'uses' => 'NodejsTaskResultController@valsub']);
Route::get('/student/nodejscourse/results/create/{topic}', 'NodejsTaskResultController@create'); Route::get('/student/nodejscourse/results/create/{topic}', 'NodejsTaskResultController@create');
Route::get('/student/nodejscourse', 'StudentController@Nodejscourse'); Route::get('/student/nodejscourse', 'StudentController@Nodejscourse');
Route::get('/student/nodejscourse/topic', 'StudentController@Nodejscoursetopic'); Route::get('/student/nodejscourse/topic', 'StudentController@Nodejscoursetopic');
@ -197,8 +196,8 @@ Route::group(['middleware' => ['auth', 'student']], function() {
Route::get('/student/lfiles/nodejscourse/create/{topic}', 'NodejsFileResultController@create'); Route::get('/student/lfiles/nodejscourse/create/{topic}', 'NodejsFileResultController@create');
Route::get('/student/lfiles/nodejscourse/valid/{topic}', 'NodejsFileResultController@submit'); Route::get('/student/lfiles/nodejscourse/valid/{topic}', 'NodejsFileResultController@submit');
Route::get('/student/lfiles/nodejscourse/delete/{id}/{topic}', 'NodejsFileResultController@delete'); Route::get('/student/lfiles/nodejscourse/delete/{id}/{topic}', 'NodejsFileResultController@delete');
//Unity// //Unity//
Route::patch('/student/unitycourse/results/valsub',['as' => 'results.valsub', 'uses' => 'UnityTaskResultController@valsub']); Route::patch('/student/unitycourse/results/valsub', ['as' => 'results.valsub', 'uses' => 'UnityTaskResultController@valsub']);
Route::get('/student/unitycourse/results/create/{topic}', 'UnityTaskResultController@create'); Route::get('/student/unitycourse/results/create/{topic}', 'UnityTaskResultController@create');
Route::get('/student/unitycourse', 'StudentController@unitycourse'); Route::get('/student/unitycourse', 'StudentController@unitycourse');
Route::get('/student/unitycourse/topic', 'StudentController@unitycoursetopic'); Route::get('/student/unitycourse/topic', 'StudentController@unitycoursetopic');
@ -210,7 +209,7 @@ Route::group(['middleware' => ['auth', 'student']], function() {
Route::get('/student/lfiles/unitycourse/delete/{id}/{topic}', 'UnityFileResultController@delete'); Route::get('/student/lfiles/unitycourse/delete/{id}/{topic}', 'UnityFileResultController@delete');
/** Python */ /** Python */
//Tampilan topik //Tampilan topik
Route::get('/student/pythoncourse', 'StudentController@pythoncourse'); Route::get('/student/pythoncourse', 'StudentController@pythoncourse');
Route::get('/student/pythoncourse/python/task', [ExercisePythonController::class, 'index']); Route::get('/student/pythoncourse/python/task', [ExercisePythonController::class, 'index']);
@ -237,8 +236,8 @@ Route::group(['middleware' => ['auth', 'student']], function() {
Route::get('/student', 'StudentController@index'); Route::get('/student', 'StudentController@index');
Route::resource('/student/tasks', 'TaskStdController'); Route::resource('/student/tasks', 'TaskStdController');
Route::resource('/student/results', 'TaskResultController'); Route::resource('/student/results', 'TaskResultController');
Route::patch('/student/androidcourse/results/valsub',['as' => 'results.valsub', 'uses' => 'TaskResultController@valsub']); Route::patch('/student/androidcourse/results/valsub', ['as' => 'results.valsub', 'uses' => 'TaskResultController@valsub']);
Route::get('/student/androidcourse/results/create/{topic}', 'TaskResultController@create'); Route::get('/student/androidcourse/results/create/{topic}', 'TaskResultController@create');
Route::resource('/student/androidcourse/lfiles', 'FileResultController'); Route::resource('/student/androidcourse/lfiles', 'FileResultController');
Route::get('/student/lfiles/androidcourse/create/{topic}', 'FileResultController@create'); Route::get('/student/lfiles/androidcourse/create/{topic}', 'FileResultController@create');
@ -247,7 +246,7 @@ Route::group(['middleware' => ['auth', 'student']], function() {
Route::resource('/student/androidcourse/rankview', 'StudentResultRankController'); Route::resource('/student/androidcourse/rankview', 'StudentResultRankController');
Route::resource('/student/androidcourse/valid', 'StudentValidController'); Route::resource('/student/androidcourse/valid', 'StudentValidController');
Route::resource('/student/androidcourse/rankview', 'StudentResultRankController'); Route::resource('/student/androidcourse/rankview', 'StudentResultRankController');
Route::patch('/student/results/valsub',['as' => 'results.valsub', 'uses' => 'TaskResultController@valsub']); Route::patch('/student/results/valsub', ['as' => 'results.valsub', 'uses' => 'TaskResultController@valsub']);
Route::get('student/results/create/{topic}', 'TaskResultController@create'); Route::get('student/results/create/{topic}', 'TaskResultController@create');
Route::resource('/student/lfiles', 'FileResultController'); Route::resource('/student/lfiles', 'FileResultController');
Route::get('/student/lfiles/create/{topic}', 'FileResultController@create'); Route::get('/student/lfiles/create/{topic}', 'FileResultController@create');
@ -268,83 +267,79 @@ Route::group(['middleware' => ['auth', 'student']], function() {
Route::resource('/student/exercise', 'ExerciseStdController'); Route::resource('/student/exercise', 'ExerciseStdController');
Route::resource('/student/exercisesubmission', 'ExerciseSubmissionController'); Route::resource('/student/exercisesubmission', 'ExerciseSubmissionController');
Route::resource('/student/exercisevalid', 'ExerciseStdValidController'); Route::resource('/student/exercisevalid', 'ExerciseStdValidController');
/* ----------------------------------- SQL ---------------------------------- */
Route::get('', 'SQLController@learning')->name('student sql learning');
Route::get('/read', 'SQLController@learningRead')->name('student sql learning read');
Route::get('/detail/{id}', 'SQLController@learningRead')->name('student sql learning detail');
Route::post('/create', 'SQLController@learningStore')->name('student sql learning create');
Route::post('/update/{id}', 'SQLController@learningUpdate')->name('student sql learning update');
Route::get('/delete/{id}', 'SQLController@learningDelete')->name('student sql learning delete');
Route::get('/kerjakan/{id}', 'SQLController@learningDo')->name('student sql learning do');
Route::post('/kerjakan/{id}', 'SQLController@learningDoExec')->name('student sql learning do exec');
Route::get('/reset', 'SQLController@learningDoReset')->name('student sql learning do reset');
});
Route::group(['prefix' => 'praktek'], function () {
Route::get('', 'SQLController@practice')->name('student sql practice');
Route::get('/read', 'SQLController@practiceRead')->name('student sql practice read');
Route::get('/detail/{id}', 'SQLController@practiceRead')->name('student sql practice detail');
Route::post('/create', 'SQLController@practiceStore')->name('student sql practice create');
Route::post('/update/{id}', 'SQLController@practiceUpdate')->name('student sql practice update');
Route::get('/delete/{id}', 'SQLController@practiceDelete')->name('student sql practice delete');
Route::get('/kerjakan/{id}', 'SQLController@practiceDo')->name('student sql practice do');
Route::get('/kerjakan/{id}/{question}', 'SQLController@practiceDo')->name('student sql practice do question');
Route::post('/kerjakan/{id}', 'SQLController@practiceDoExec')->name('student sql practice do exec');
Route::get('/reset', 'SQLController@practiceDoReset')->name('student sql practice do reset');
});
Route::group(['prefix' => 'latihan'], function () {
Route::get('', 'SQLController@exercise')->name('student sql exercise');
Route::get('/read', 'SQLController@exerciseRead')->name('student sql exercise read');
Route::get('/detail/{id}', 'SQLController@exerciseRead')->name('student sql exercise detail');
Route::post('/create', 'SQLController@exerciseStore')->name('student sql exercise create');
Route::post('/update/{id}', 'SQLController@exerciseUpdate')->name('student sql exercise update');
Route::get('/delete/{id}', 'SQLController@exerciseDelete')->name('student sql exercise delete');
Route::get('/start', 'SQLController@exerciseStart')->name('student sql exercise start');
Route::get('/kerjakan/detail/{id}', 'SQLController@exerciseDoDetail')->name('student sql exercise do detail');
Route::get('/kerjakan/{id}', 'SQLController@exerciseDo')->name('student sql exercise do');
Route::post('/kerjakan/{id}', 'SQLController@exerciseAnswer')->name('student sql exercise answer');
Route::get('/complete', 'SQLController@exerciseComplete')->name('student sql exercise complete');
});
Route::group(['prefix' => 'ujian'], function () {
Route::get('', 'SQLController@exam')->name('student sql exam');
Route::get('/read', 'SQLController@examRead')->name('student sql exam read');
Route::get('/detail/{id}', 'SQLController@examRead')->name('student sql exam detail');
Route::post('/create', 'SQLController@examStore')->name('student sql exam create');
Route::post('/update/{id}', 'SQLController@examUpdate')->name('student sql exam update');
Route::get('/delete/{id}', 'SQLController@examDelete')->name('student sql exam delete');
Route::get('/start', 'SQLController@examStart')->name('student sql exam start');
Route::get('/kerjakan/detail/{id}', 'SQLController@examDoDetail')->name('student sql exam do detail');
Route::get('/kerjakan/{id}', 'SQLController@examDo')->name('student sql exam do');
Route::post('/kerjakan/{id}', 'SQLController@examAnswer')->name('student sql exam answer');
Route::get('/complete', 'SQLController@examComplete')->name('student sql exam complete');
});
});
/* ----------------------------------- SQL ---------------------------------- */
}); });
Route::middleware(['auth'])->group(function () { Route::middleware(['auth'])->group(function () {
Route::get('download/guide/{file}/{topic}', 'DownloadController@downGuide')->name('file-download'); Route::get('download/guide/{file}/{topic}', 'DownloadController@downGuide')->name('file-download');
Route::get('download/test/{file}/{topic}', 'DownloadController@downTest')->name('file-download'); Route::get('download/test/{file}/{topic}', 'DownloadController@downTest')->name('file-download');
Route::get('download/supp/{file}/{topic}', 'DownloadController@downSupplement')->name('file-download'); Route::get('download/supp/{file}/{topic}', 'DownloadController@downSupplement')->name('file-download');
Route::get('download/other/{file}/{topic}', 'DownloadController@downOther')->name('file-download'); Route::get('download/other/{file}/{topic}', 'DownloadController@downOther')->name('file-download');
// exercise // exercise
Route::get('download/exerciseguide/{file}/{topic}', 'DownloadController@downExerciseGuide')->name('file-download'); Route::get('download/exerciseguide/{file}/{topic}', 'DownloadController@downExerciseGuide')->name('file-download');
Route::get('download/exercisetest/{file}/{topic}', 'DownloadController@downExerciseTest')->name('file-download'); Route::get('download/exercisetest/{file}/{topic}', 'DownloadController@downExerciseTest')->name('file-download');
Route::get('download/exercisesupp/{file}/{topic}', 'DownloadController@downExerciseSupplement')->name('file-download'); Route::get('download/exercisesupp/{file}/{topic}', 'DownloadController@downExerciseSupplement')->name('file-download');
Route::get('download/exerciseother/{file}/{topic}', 'DownloadController@downExerciseOther')->name('file-download'); Route::get('download/exerciseother/{file}/{topic}', 'DownloadController@downExerciseOther')->name('file-download');
// jplas // jplas
Route::get('download/jpack/{file}/{topic}', 'DownloadController@downJplasPackage')->name('file-download'); Route::get('download/jpack/{file}/{topic}', 'DownloadController@downJplasPackage')->name('file-download');
Route::get('download/jguide/{file}/{topic}', 'DownloadController@downJplasGuide')->name('file-download'); Route::get('download/jguide/{file}/{topic}', 'DownloadController@downJplasGuide')->name('file-download');
Route::get('download/jresult/{file}/{topic}', 'DownloadController@downJplasResult')->name('file-download'); Route::get('download/jresult/{file}/{topic}', 'DownloadController@downJplasResult')->name('file-download');
/* ----------------------------------- SQL ---------------------------------- */
Route::group(['prefix' => 'student/sql'], function () {
Route::group(['prefix' => 'pembelajaran'], function () {
Route::get('', 'SQLController@learning')->name('student sql learning');
Route::get('/read', 'SQLController@learningRead')->name('student sql learning read');
Route::get('/detail/{id}', 'SQLController@learningRead')->name('student sql learning detail');
Route::post('/create', 'SQLController@learningStore')->name('student sql learning create');
Route::post('/update/{id}', 'SQLController@learningUpdate')->name('student sql learning update');
Route::get('/delete/{id}', 'SQLController@learningDelete')->name('student sql learning delete');
Route::get('/kerjakan/{id}', 'SQLController@learningDo')->name('student sql learning do');
Route::post('/kerjakan/{id}', 'SQLController@learningDoExec')->name('student sql learning do exec');
Route::get('/reset', 'SQLController@learningDoReset')->name('student sql learning do reset');
});
Route::group(['prefix' => 'praktek'], function () {
Route::get('', 'SQLController@practice')->name('student sql practice');
Route::get('/read', 'SQLController@practiceRead')->name('student sql practice read');
Route::get('/detail/{id}', 'SQLController@practiceRead')->name('student sql practice detail');
Route::post('/create', 'SQLController@practiceStore')->name('student sql practice create');
Route::post('/update/{id}', 'SQLController@practiceUpdate')->name('student sql practice update');
Route::get('/delete/{id}', 'SQLController@practiceDelete')->name('student sql practice delete');
Route::get('/kerjakan/{id}', 'SQLController@practiceDo')->name('student sql practice do');
Route::get('/kerjakan/{id}/{question}', 'SQLController@practiceDo')->name('student sql practice do question');
Route::post('/kerjakan/{id}', 'SQLController@practiceDoExec')->name('student sql practice do exec');
Route::get('/reset', 'SQLController@practiceDoReset')->name('student sql practice do reset');
});
Route::group(['prefix' => 'latihan'], function () {
Route::get('', 'SQLController@exercise')->name('student sql exercise');
Route::get('/read', 'SQLController@exerciseRead')->name('student sql exercise read');
Route::get('/detail/{id}', 'SQLController@exerciseRead')->name('student sql exercise detail');
Route::post('/create', 'SQLController@exerciseStore')->name('student sql exercise create');
Route::post('/update/{id}', 'SQLController@exerciseUpdate')->name('student sql exercise update');
Route::get('/delete/{id}', 'SQLController@exerciseDelete')->name('student sql exercise delete');
Route::get('/start', 'SQLController@exerciseStart')->name('student sql exercise start');
Route::get('/kerjakan/detail/{id}', 'SQLController@exerciseDoDetail')->name('student sql exercise do detail');
Route::get('/kerjakan/{id}', 'SQLController@exerciseDo')->name('student sql exercise do');
Route::post('/kerjakan/{id}', 'SQLController@exerciseAnswer')->name('student sql exercise answer');
Route::get('/complete', 'SQLController@exerciseComplete')->name('student sql exercise complete');
});
Route::group(['prefix' => 'ujian'], function () {
Route::get('', 'SQLController@exam')->name('student sql exam');
Route::get('/read', 'SQLController@examRead')->name('student sql exam read');
Route::get('/detail/{id}', 'SQLController@examRead')->name('student sql exam detail');
Route::post('/create', 'SQLController@examStore')->name('student sql exam create');
Route::post('/update/{id}', 'SQLController@examUpdate')->name('student sql exam update');
Route::get('/delete/{id}', 'SQLController@examDelete')->name('student sql exam delete');
Route::get('/start', 'SQLController@examStart')->name('student sql exam start');
Route::get('/kerjakan/detail/{id}', 'SQLController@examDoDetail')->name('student sql exam do detail');
Route::get('/kerjakan/{id}', 'SQLController@examDo')->name('student sql exam do');
Route::post('/kerjakan/{id}', 'SQLController@examAnswer')->name('student sql exam answer');
Route::get('/complete', 'SQLController@examComplete')->name('student sql exam complete');
});
});
/* ----------------------------------- SQL ---------------------------------- */
}); });
Auth::routes(); Auth::routes();