Feat: Учебная часть для студентов

✅ Login Modal в навигации
✅ Навигация: Админка (для админов), Мои курсы, Тесты
✅ StudentCourseController - список и просмотр курсов
✅ StudentTestController - список и просмотр тестов
✅ Маршруты /student/courses, /student/tests
✅ Views для курсов и тестов

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
mirivlad
2026-04-02 11:47:46 +08:00
co-authored by Qwen-Coder
parent b56d8b2b3d
commit dcb89380aa
8 changed files with 470 additions and 4 deletions
+10
View File
@@ -16,6 +16,8 @@ use App\Http\Controllers\Api\OrganizationSearchController;
use App\Http\Controllers\Api\GroupSearchController;
use App\Http\Controllers\Api\UserSearchController;
use App\Http\Controllers\Api\CourseSearchController;
use App\Http\Controllers\Student\CourseController as StudentCourseController;
use App\Http\Controllers\Student\TestController as StudentTestController;
use App\Http\Controllers\DashboardController;
use Illuminate\Support\Facades\Route;
@@ -78,4 +80,12 @@ Route::middleware('auth')->group(function () {
Route::get('/api/users/search', UserSearchController::class)->name('api.users.search');
Route::get('/api/courses/search', CourseSearchController::class)->name('api.courses.search');
});
// Учебная часть (требуется аутентификация)
Route::middleware('auth')->prefix('student')->name('student.')->group(function() {
Route::get('/courses', [StudentCourseController::class, 'index'])->name('courses.index');
Route::get('/courses/{course}', [StudentCourseController::class, 'show'])->name('courses.show');
Route::get('/tests', [StudentTestController::class, 'index'])->name('tests.index');
Route::get('/tests/{test}', [StudentTestController::class, 'show'])->name('tests.show');
});
});