Skip to content

Ammoor/Quizzes-Light

Repository files navigation

Quizzes Light Logo

1. Introduction

The Quizzes Light Platform is a Laravel-based application designed using the MVC architecture that allows admins to create and manage quizzes, while students can participate in them. The platform is built with two distinct guards for authentication: admin and student. Each role has its own specific permissions and responsibilities within the system.

2. Used Technologies

Front-End:

  • HTML (Laravel Blade)
  • CSS
  • JavaScript
  • Font Awesome Library

Back-End:

  • PHP
  • MySQL
  • Laravel

3. Prerequisites

Before running the application, ensure you have the following installed:

  • PHP 8.2 or higher
  • PHP package manager (Composer)
  • Laravel 11.x
  • MySQL or phpMyAdmin DataBase
  • Web Server (ex: Apache, Tomcat, Nginx)
  • All in one solutions (ex: XAMPP, Laragon, Laravel Herd)
  • Font Awesome Library

4. Installation and Set The Project Environment

To set up the project, follow these steps:

1- Clone the repository:

git clone <repository-url>
Cd Quizzes-Light

2- Install dependencies:

composer install

3- Create a .env file:

Make sure you set the .env file in your project environment to make the necessary Configuration.

4- Run migrations and seed the database:

php artisan migrate --seed

5- Start the development server: (If you do not make a virtual host)

php artisan serve

5- Configuration

The .env file should be configured with the following:

  • APP_URL: The URL where your app will be hosted.
  • DB_CONNECTION, DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD: Database configuration.

6- User Authentication

The app uses two authentication guards: admin and student. Each guard enters their credentials through a dedicated URL to prevent unauthorized access.

Admin Guard:

  • Role: Manages quizzes, and questions, and monitors student progress.
  • Access: Admins can access the admin dashboard, where they can create, update, and delete quizzes.
  • Configuration: The config/auth.php file is set up with an admin guard, using the admin's table for authentication.

Student Guard:

  • Role: Takes quizzes and views their scores.
  • Access: Students can log in to access quizzes assigned to them and submit their answers.
  • Configuration: The config/auth.php file includes a student guard, using the student’s table for authentication.

7- Features

Admin Features:

  • Create, Read, Update, and Delete (CRUD) Operations:
    • Manage quizzes: Admins can add, edit, and remove quizzes.
    • Manage questions: Admins can add questions to quizzes, set answer choices, and specify the correct answer.
  • View Student Results: Monitor student scores and quiz completion statuses.

Student Features:

  • Participate in Quizzes: Students can take quizzes assigned to them.
  • View Scores: Students can see their results for each quiz.

Quiz Page:

The quiz page in Quizzes Light is designed to provide a seamless and engaging user experience while maintaining functionality and reliability. Key features include:

  • User-Friendly Interface: The quiz page boasts a clean and intuitive layout that ensures ease of use. Each question is displayed prominently with clearly defined answer options, making it accessible to users of all levels.
  • Integrated Timer: A dynamic timer is embedded on the quiz page to track the remaining time for the quiz. The timer ensures users stay aware of their time limits.
  • Time Warning Alert: When the quiz timer reaches the last minute, it changes color to red, visually alerting the user that they are running out of time. This feature helps maintain focus and urgency.
  • Auto-Submit Functionality: If the timer runs out, the quiz page automatically submits the user's answers. This ensures that all completed work is captured, even if the user is unable to submit manually.
  • Responsive Design: The page is fully responsive, ensuring a consistent experience across devices of all sizes, from desktops to mobile phones.

Auto correcting:

  • Quizzes Light features a secure auto-correcting system implemented in the back-end logic, ensuring accurate result evaluation while adhering to security best practices by avoiding client-side processing.

8- Database Schema

The application uses two main tables for authentication and other tables for quiz management:

  • Admins Table: Stores admin details for authentication.
  • Students Table: Stores student details for authentication.
  • Quizzes Table: Contains information about each quiz (e.g., name, time, questions).
  • Specializations Table: Stores all the available specializations for quizzes.
ERD Image

9- Tutorial Video

Explore the seamless user experience of Quizzes Light in this tutorial video. It highlights the application's clean and intuitive design, showcasing its responsive layout that adapts flawlessly across devices. The video also demonstrates core functionalities, including quiz creation, real-time auto-correction, and student performance tracking. See how every detail is optimized for efficiency, usability, and a secure user environment.

10- Assets

11- Copyrights

This project was proudly created by the Quizzes Light team, combining creativity, dedication, and expertise. Users are more welcome to use and customize the code to suit their needs, but we kindly request proper attribution to honor the team’s efforts. Please do not claim ownership of the original work, as it reflects the hard work and collaboration of our talented developers.

© 2024 Quizzes Light. All rights reserved.