ayushsaxenagithub / PilotLMS

The Django Learning Management System is a web application that facilitates the management and organization of educational courses. It provides a platform for creating and managing courses, enrolling students, tracking progress, and facilitating interaction between students and teachers.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A fully responsive Learning Management System with models for Organisation, Teacher and Student.

Description

The project is a web application built using Django, a high-level Python web framework. It provides a comprehensive platform for managing user profiles, organizations, teachers, students, courses, and related entities. The application facilitates collaboration, learning, and progress tracking in an educational setting.

Table of Contents

Features

  • User registration and login system.
  • Creation and management of user profiles with personal information and social media links.
  • Creation and management of organizations with descriptions, locations, websites, and founding years.
  • Creation and management of teachers with associated profiles, organizations, qualifications, and research interests.
  • Creation and management of students with associated profiles and departments.
  • Categorization of courses using tags.
  • Creation and management of courses with associated organizations, teachers, tags, descriptions, and course content.
  • Enrollment of students in courses.
  • Creation and management of modules within courses with associated videos and notes.
  • Uploading and management of videos with associated modules and courses.
  • Commenting and sub-commenting on videos and courses.
  • Creation and management of notes on videos, modules, and courses.
  • Tracking user progress in courses and overall course progress.
  • Creation and management of quizzes associated with videos.
  • Creation and management of quiz questions and answers.
  • Monitoring user quiz attempts.

Installation

We need to Download a number of libraries and also create an environment before running the site.

Step 1: Create an environment outside the PilotLMS folder to keep the settings local to this project, Then activate it.. reference below

https://docs.python.org/3/library/venv.html

Step 2: Create the Folder and clone the project, now Change directory into FOLDER_NAME

git clone (https://github.com/ayushsaxenagithub/PilotLMS.git) cd FOLDER_NAME

Step 3: Install the requirements for the project using the command...

pip install -r requirements.txt

Step 4: To activate the server

python manage.py migrate

Step 4: To collectstatic files

python manage.py collectstaicfiles

Step 6: To activate the server

python manage.py runserver

Step 7 : Open your web browser and visit http://localhost:8000 to access the application.

Usage

  • Register a new user account or log in with an existing account.
  • Create a profile and fill in the necessary details.
  • Create organizations and add descriptions, locations, websites, and founding years.
  • Add teachers and students, linking them to their respective profiles and organizations.
  • Categorize courses using tags.
  • Create courses, specifying the associated organization, teacher, tags, descriptions, and course content.
  • Enroll students in courses.
  • Create modules within courses and add videos and notes.
  • Upload videos, specifying the associated module and course.
  • Interact with videos and courses by leaving comments and sub-comments.
  • Create notes on videos, modules, and courses.
  • Track user progress in courses and monitor overall course progress.
  • Create quizzes associated with videos and add questions and answers.
  • Monitor user attempts and quiz results.

Users Functionality

Student

  • Login/Signup using tokens and cookies
  • Dashboard to view courses and their progress
  • Quiz popups within videos
  • Doubt section
  • Personal Notes

Teacher

  • Teacher Dashboard for administering student progress and analytics
  • Teacher domain within his Organization
  • Setup quizes for students

organization

  • Has the power to appoint a user as an instructor
  • Has a domain specific to itself only accesible to its teachers
  • Every teacher should belong to an onganisation

Technologies

The project is built using the following technologies:

  • Python
  • Django - Web framework
  • Django REST Framework - Web API framework
  • SQLite - Database

Front-end:

  • HTML
  • CSS
  • JavaScript

Authentication:

  • Django Authentication - User authentication and authorization

File Storage:

  • Amazon S3 (or any other storage service)

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvements, please feel free to create a pull request.

Screenshots

IMG-20230501-WA0016 IMG-20230501-WA0010 IMG-20230501-WA0012 IMG-20230501-WA0013 IMG-20230501-WA0015

About

The Django Learning Management System is a web application that facilitates the management and organization of educational courses. It provides a platform for creating and managing courses, enrolling students, tracking progress, and facilitating interaction between students and teachers.

License:MIT License


Languages

Language:HTML 75.9%Language:Python 12.8%Language:CSS 7.7%Language:JavaScript 3.1%Language:PHP 0.5%