A simple learning management system for managing courses and lessons.
The project has three main parts:
description
has a rich text editorlesson_text
has a rich text editorMy Courses
pageCourse resource has nested resource to manage lessons and has routes for lesson pages.
app/Filament/Admin/Resources/Courses/CourseResource.php:
use App\Models\Course;use Filament\Tables\Table;use Filament\Schemas\Schema;use Filament\Resources\Resource;use Filament\Support\Icons\Heroicon;use App\Filament\Admin\Resources\Courses\Pages\EditCourse;use App\Filament\Admin\Resources\Courses\Pages\ListCourses;use App\Filament\Admin\Resources\Courses\Pages\CreateCourse;use App\Filament\Admin\Resources\Courses\Schemas\CourseForm;use App\Filament\Admin\Resources\Courses\Tables\CoursesTable;use App\Filament\Admin\Resources\Courses\Pages\ManageCourseLessons; class CourseResource extends Resource{ protected static ?string $model = Course::class; protected static string | \BackedEnum | null $navigationIcon = Heroicon::OutlinedRectangleStack; public static function form(Schema $schema): Schema { return CourseForm::configure($schema); } public static function table(Table $table): Table { return CoursesTable::configure($table); } public static function getRelations(): array { return [ // ]; } public static function getPages(): array { return [ 'index' => ListCourses::route('/'), 'create' => CreateCourse::route('/create'), 'edit' => EditCourse::route('/{record}/edit'), 'lessons' => ManageCourseLessons::route('/{record}/lessons'), ]; }}
Here's a resource to display the My Courses
table.