/basic-lms-laravel

Basic Laravel Learning Management System

Primary LanguageHTMLGNU General Public License v3.0GPL-3.0

Basic Learning Management System (BasicLMS)

About BasicLMS

BasicLMS is a web application that mainly consists of the following modules:

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:

APIs

We would like to extend our thanks to the following APIs and their developers.

Modules Explanation

Administration Panel

Users' Actions Tracking

News Updating

Adding/Assigning Roles

Courses

Quiz

Plagiarism

Assignment

Submission Tracking

Registration

Announcements

User Profile

Installation ( Make sure you run it on *nix operating system)

Requirements

Guide

  • 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

Sandbox

Run

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

Security Vulnerabilities

If you discover a security vulnerability within BasicLMS, please post an issue. All security vulnerabilities will be addressd.

Issues

In case of receiving this error

  • BadMethodCallException, Please run this two commands php artisan config:cache, php artisan config:clear

Database Seeding

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);  

Database Demo

Link Click here

Accounts

Default credentials

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)