Quiz management system with laravel and livewire

author

By Freecoderteam

Jun 09, 2024

282

image

Let's revise the documentation to reflect the correct routing and features based on the provided routes.


Quiz Management System Documentation

Table of Contents

  1. Introduction
  2. Features
  3. Installation
  4. Usage
  5. Configuration
  6. Routes
  7. Contributing
  8. License
  9. Video Tutorial

Introduction

The Quiz Management System is a robust and scalable application designed to create, manage, and administer quizzes. It provides a user-friendly interface for quiz creation, participant management, and result tracking. This project is open-source and available on GitHub.

Features

  • User Authentication
  • Quiz Creation and Management
  • Question and Answer Management
  • Classroom Management
  • Role and Permission Management
  • Admin Dashboard

Installation

Prerequisites

  • PHP 7.4+
  • Laravel 8.x
  • Composer
  • Node.js and npm
  • MySQL or any other supported database

Steps

  1. Clone the repository:

    git clone https://github.com/sagor110090/quiz-management-system.git
    cd quiz-management-system
    
  2. Install dependencies:

    composer install
    npm install
    
  3. Copy .env.example to .env and configure your environment variables:

    cp .env.example .env
    
  4. Generate an application key:

    php artisan key:generate
    
  5. Run migrations and seed the database:

    php artisan migrate --seed
    
  6. Start the development server:

    php artisan serve
    npm run dev
    

Usage

Once the server is running, you can access the application at http://localhost:8000. Create an account, log in, and start managing quizzes.

Admin Interface

  • Create and manage quizzes
  • Add and edit questions
  • Monitor quiz participation
  • View and export results

Participant Interface

  • Register and log in
  • Participate in quizzes
  • View quiz results

Configuration

Detailed configuration options can be found in the .env file. Here are some key settings:

  • DB_CONNECTION: Database connection type
  • DB_HOST: Database host
  • DB_PORT: Database port
  • DB_DATABASE: Database name
  • DB_USERNAME: Database username
  • DB_PASSWORD: Database password

Routes

Admin Routes (Protected by auth and isTeacher Middleware)

  • GET /dashboard: Admin Dashboard
  • VIEW /admin/profile: View Admin Profile
  • POST /admin/profile: Update Admin Profile
  • GET /answers-list: View List of Answers
  • GET /list-classroom/{student_id}: View List of Classrooms for a Student
  • GET /quizDetail/{quiz_id}/{student_id}: View Quiz Details
  • GET /quizzes: View List of Quizzes
  • GET /question-options: View List of Question Options
  • GET /questions: View List of Questions
  • GET /classrooms: View List of Classrooms
  • GET /students: View List of Students
  • GET /admin/site_settings: View and Update Site Settings
  • GET /admin/users: View and Manage Users
  • GET /admin/roles: View and Manage Roles
  • GET /admin/permissions: View and Manage Permissions

Frontend Routes

  • GET /: Home Page
  • GET /classroom/list: List of Classrooms (Requires Auth)
  • GET /classroom/{classroom_id}: View Classroom Details (Requires Auth)
  • GET /classroom/{quiz_id}/quiz: View Quiz in Classroom (Requires Auth)
  • POST /classroom/{quiz_id}/quiz: Submit Quiz Answers (Requires Auth)
  • GET /logout: Logout User

Contributing

We welcome contributions from the community. To contribute:

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature-branch-name.
  3. Make your changes and commit them: git commit -m 'Add new feature'.
  4. Push to the branch: git push origin feature-branch-name.
  5. Create a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Video Tutorial

For a detailed video tutorial, please watch this video.


This revised documentation should now accurately reflect the routing and features of your Quiz Management System project.

Subscribe to Receive Future Updates

Stay informed about our latest updates, services, and special offers. Subscribe now to receive valuable insights and news directly to your inbox.

No spam guaranteed, So please don’t send any spam mail.