Skip to main content

Laravel Quizzes/Exams with Livewire

A project where admins can create quizzes and pick questions for them, with various options like time limits, re-takes, etc. Students may take quizzes and see their scores.

Tech-stack:

  • Laravel 12
  • Livewire starter kit
  • Filament 4 admin panel

How it works

Here are the main parts of the code of that repository.

Routing + Livewire screens

Student pages are plain Livewire classes that sit directly on routes. No controllers, no extra Blade files.

Fortify powers authentication, so after registration the user immediately lands on /dashboard. From there they can browse quizzes, take them, and open attempt results. Those screens live behind the auth middleware:

Route::middleware(['auth'])->group(function () {
Route::get('quizzes', QuizList::class)->name('quizzes.index');
Route::get('quizzes/{quiz}/take', TakeQuiz::class)->name('quizzes.take');
Route::get('attempts/{attempt}/results', QuizResults::class)->name('attempts.results');
Route::redirect('settings', 'settings/profile');
});

Because each route points at a Livewire class, state stays on the server. Wire navigation keeps transitions quick, and every page automatically shares auth checks and SEO metadata through the layout components.

Student dashboard and analytics

App\Livewire\Dashboard is the landing page once a user logs in. It exposes three computed properties:

  • stats for the high-level cards (total attempts, average score, pass rate).
  • attempts for the paginated table of recent...

Want to Get Access to GitHub Repository?

Unlock the complete README, installation instructions, code walkthrough, and direct access to clone the repository. Join our premium membership to access all project examples.

Full Source Code
Clone and customize
Documentation
Complete setup guides
All Examples
18 premium projects
Become a Premium Member for $129/year or $29/month

We'd Love Your Feedback

Tell us what you like or what we can improve

Feel free to share anything you like or dislike about this page or the platform in general.