All Projects → ci-oc → basic-lms-laravel

ci-oc / basic-lms-laravel

Licence: GPL-3.0 License
Basic Laravel Learning Management System

Programming Languages

Blade
752 projects
PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to basic-lms-laravel

javascript-questions
❔ Multiple choice JS questions as PWA
Stars: ✭ 12 (-77.78%)
Mutual labels:  quiz
Anubis
Distributed LMS for automating Computing Science Courses From NYU
Stars: ✭ 184 (+240.74%)
Mutual labels:  learning-management-system
hp-quiz
Harry Potter movies quiz. Experimenting with localStorage, SVG path animations and vue.observable
Stars: ✭ 42 (-22.22%)
Mutual labels:  quiz
Quizoo
Online Quiz Platform for conducting quizes
Stars: ✭ 27 (-50%)
Mutual labels:  quiz
online-judgement
A collaborative online code judge system
Stars: ✭ 33 (-38.89%)
Mutual labels:  online-judge
cp-tool
cp-tool is an auto generator for solved problems at different online judges.
Stars: ✭ 24 (-55.56%)
Mutual labels:  online-judge
leetcode
😖 😕 😃LeetCode问题解题思路。
Stars: ✭ 132 (+144.44%)
Mutual labels:  online-judge
FlipED
A LMS built specifically for Thailand's Education 4.0 system.
Stars: ✭ 24 (-55.56%)
Mutual labels:  learning-management-system
discord-music-quizzer
Discord music quiz bot
Stars: ✭ 18 (-66.67%)
Mutual labels:  quiz
random-data
随机数据产生姬
Stars: ✭ 21 (-61.11%)
Mutual labels:  online-judge
sakubun
A tool that helps you improve your Japanese vocabulary and kanji skills with practice that's customized to your needs.
Stars: ✭ 20 (-62.96%)
Mutual labels:  quiz
judge
A blazingly fast online judge/ autograder ⚖️ built with Python and the Django framework to test cases against your solution. Check out the sponsor links and help fund DomeCode.
Stars: ✭ 30 (-44.44%)
Mutual labels:  online-judge
QuizKit
⁉️ A framework for developing local or remote quiz apps for iOS or tvOS
Stars: ✭ 28 (-48.15%)
Mutual labels:  quiz
quizquickanswer-telegram-game-bot
🎮 Funny quiz game for telegram, play with friends on your group!
Stars: ✭ 15 (-72.22%)
Mutual labels:  quiz
LeetCode-with-JavaScript
Solutions collection of my LeetCode submissions in JavaScript (LeetCode 解题集之 JavaScript 版)
Stars: ✭ 104 (+92.59%)
Mutual labels:  online-judge
CodeCoopersLms
As Code Coopers Training (previously known as Virtual Tech Academy), we have launched a LMS for our students. We are open sourcing those LMS projects here one by one for the greater good. Please share and Mark Star if you appreciate it.
Stars: ✭ 18 (-66.67%)
Mutual labels:  learning-management-system
recruitr
Online Code Judging Tool
Stars: ✭ 25 (-53.7%)
Mutual labels:  online-judge
react-quiz-app
A Simple React Quiz App 💎
Stars: ✭ 37 (-31.48%)
Mutual labels:  quiz
godge
Godge is a self-hosted container-based online judge for meetups and workshops.
Stars: ✭ 13 (-75.93%)
Mutual labels:  online-judge
ng2-quiz
A general purpose quiz application developed in angular (updated to angular 8) that can be used for multiple purpose.
Stars: ✭ 90 (+66.67%)
Mutual labels:  quiz

Basic Learning Management System (BasicLMS)

1. About BasicLMS

The BasicLMS is a pure educational Learning Management System. It does not serve all purposes of an LMS. However, it provides a proof of concept of what could be implemeneted and integrated. Works on Unix-like operating systems.

2. APIs

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

4. Administration Panel

When you sign in using the superuser account (see Database Configuration) , you will see a clickable note that forwards you to security questions web page.

Kb12gMs

After you click it, the following three security questions will appear:

L7nyoNv
💡
The answers are: dummy1, dummy2, and dummy3. They are editable through the panel.

4.4. Assigning Permissions to Roles

Follow the beneath steps:

  1. Navigate to "User Management"

  2. Click "Roles"

  3. "Edit" any of the shown roles to modify/add their permissions

3XMsmfF

We recommend:

  1. All "Security Privileges" for the "superuser" role.

  2. All "High Educational Privileges" for the "instructor" role along with "edit-profile" from "Other Privileges".

  3. All "Low Education Privileges" for the "student" role along with "edit-profile" from "Other Privileges".

  4. "view-course", "view-announcement", and "edit-profile" for the "guest" role.

However, you can design your own role/permission combination.

NU9ynao

13. Installation

13.1. Requirements

13.2. Guide

In your terminal,

  • Clone: git clone https://github.com/ci-oc/basic-lms-laravel.git

  • Navigate: cd basic-lms-laravel

  • Update your depencencies as they are specified in composer.json: composer update

  • Composer re-reads the composer.json file to build up the list of files to autoload: composer dump-autoload

  • Create a cache file for faster configuration loading: php artisan config:cache

  • Flush the application cache: php artisan config:clear

13.2.1. Database Configuration

  • cat .env.example >> .env

  • vim .env

Then configure your database credentials in the following part:

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
13.2.1.1. 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. - vim PATH/TO/basic-lms-laravel/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 students 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);

13.3. Generate Application Key

php artisan key:generate

13.4. Accounts

13.4.1. 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).

13.5. Sandbox

13.6. Run

In order to host it on local area network, run the following command:

  • ifconfig | grep inet

then replace [IP] with 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

14. Security Vulnerabilities

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

15. Known Issues

In case of receiving the following exception BadMethodCallException. Please run this two commands:

  • php artisan config:cache

  • php artisan config:clear

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].