You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A modern, full-featured online examination and assessment platform built with Laravel 13. Designed for instructors to author exams effortlessly, students to take assessments seamlessly, and admins to moderate everything from a single dashboard.
Key Highlights
Feature
Description
Multi-Question Types
MCQ, True/False, Short Answer, and Essay — all in one exam
Auto-Grading
Instant scoring for objective questions; manual grading for essays
Question Randomization
Shuffle question order per student to discourage cheating
Per-Question Time Limits
Individual countdown timers with automatic submission on expiry
Question content — text, type, marks, image, time limit
options
Answer choices for MCQ/T-F with is_correct flag
exam_attempts
Student session tracking — start/end time, status
student_answers
Submitted answers — selected option, text, marks awarded
Getting Started
Prerequisites
PHP >= 8.3
Composer (PHP package manager)
Node.js >= 18 & npm
MariaDB / MySQL / SQLite
Quick Setup
# 1. Clone & enter the project
git clone https://github.com/CupNoodlez/skillcheck.git
cd skillcheck
# 2. Install dependencies
composer install
npm install
# 3. Configure environment
cp .env.example .env
php artisan key:generate
# 4. Set up database (update .env with your DB credentials first)
php artisan migrate --seed
# 5. Launch development server
composer dev
Tip:composer dev starts the Laravel server, Vite compiler, queue listener, and log watcher concurrently. To run them individually:
php artisan serve # Laravel dev server
npm run dev # Vite asset compilation
Default Test Accounts
The database seeder generates three role-based accounts for testing:
Role
Email
Username
Password
Admin
admin@skillcheck.com
admin
password
Instructor
instructor@skillcheck.com
instructor
password
Student
student@skillcheck.com
student
password
API Routes Overview
All routes are protected by authentication and role-based middleware.