BasicLMS is a web application that mainly consists of the following modules:
- Courses
- Quiz (Online Judge, MCQ Questions)
- Plagiarism
- Assignment
- Submission Tracking
- Registration
- Announcements
- User Profile
The BasicLMS currently supports only English and Arabic languages.
It was originally developed to fill the gaps in modern LMS. This project was developed under supervision of:
- Professor/ Ghada Ahmed.
- Professor/ Insaf Huessien
We would like to extend our thanks to the following APIs and their developers.
- Zizcao/Entrust
- yusufsyaifudin/grader-library
- Forked and developed by andrewnagyeb andrewnagyeb/grader-library [Please check readme file.]
- Time and Date
- MOSS
- C/C++ Dependencies and Compilers
- Perl Dependencies
- Composer Check Composer Official Website
git clone https://github.com/andrewnagyeb/module
cd module
composer update
composer dump-autoload
php artisan key:generate
php artisan config:cache
php artisan config:clear
Database Configuration
cat .env.example >> .env
gedit .env
Then please configure your database credentials in ths area
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=DATABASE_NAME
DB_USERNAME=MYSQL_USERNAME ( default is root )
DB_PASSWORD=MYSQL_PASSWORD
Also make sure you have the following configuration in your .env file.
BROADCAST_DRIVER=log
CACHE_DRIVER=array
SESSION_DRIVER=file
QUEUE_DRIVER=database
- Please refer to this README
In order to host it on local area network, run the following command:
ifconfig | grep inet
then copy your IP.php artisan serve --host=IP --port=8000
To host it on local machine:
php artisan serve
And run the following command in order to run Online Judge Queue and Mails Queue (with priority to judge queue first)
php artisan queue:listen --queue=remark,emails
To activate plagiarism detection using MOSS run:
php artisan remark
If you discover a security vulnerability within BasicLMS, please post an issue. All security vulnerabilities will be addressd.
In case of receiving this error
- BadMethodCallException, Please run this two commands
php artisan config:cache
,php artisan config:clear
In order to seed database with accounts. Please run the following command:
php artisan migrate -- seed
If you want to disable seeding for specific table. Please open the following file.
gedit PATH/TO/module/database/seeds/DatabaseSeeder.php
And then you can comment by #
any of the following seeders.
But note that you can only comment/uncomment instructors and/or student seeders, because superuser accounts are only created through seeding.
Example:
$this->call(PermissionTableSeeder::class);
$this->call(JudgeOptionsSeeder::class);
$this->call(RoleTableSeeder::class);
$this->call(SuperUserTableSeeder::class);
$this->call(SecurityURLSeeder::class);
#$this->call(InstructorsTableSeeder::class);
#$this->call(StudentsTableSeeder::class);
$this->call(CodingLanguagesSeeder::class);
Link Click here
Please go to your DBMS and view users table. First two records are the superusers accounts, next 20 are instructors. the 20 after them are students.
- Default password: "secret" (without quotes)