Let's revise the documentation to reflect the correct routing and features based on the provided routes.
Quiz Management System Documentation
Table of Contents
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
-
Clone the repository:
git clone https://github.com/sagor110090/quiz-management-system.git cd quiz-management-system
-
Install dependencies:
composer install npm install
-
Copy
.env.example
to.env
and configure your environment variables:cp .env.example .env
-
Generate an application key:
php artisan key:generate
-
Run migrations and seed the database:
php artisan migrate --seed
-
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:
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch-name
. - Make your changes and commit them:
git commit -m 'Add new feature'
. - Push to the branch:
git push origin feature-branch-name
. - 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.