/Learning-Management-System

This Learning Management System built using HTML, CSS, Bootstrap, JavaScript, and React for the frontend, with Python and Django powering the backend, offering a seamless platform for managing courses, users, and educational content.

Primary LanguageJavaScript

Key Features

  1. User Authentication and Role Management

    • Secure login system with role-based access, allowing admins, instructors, and students to have distinct permissions and access levels within the platform.
  2. Course Creation and Management

    • Tools for instructors to create, edit, and manage courses, including the ability to upload multimedia content like videos, PDFs, and presentations.
  3. Interactive Quizzes and Assessments

    • A system for building quizzes and assessments with multiple question types, automated grading, and instant feedback for students.
  4. Student Progress Tracking

    • Dashboards for students to monitor their course progress, view grades, and track their learning milestones.
  5. Discussion Forums and Chat

    • Communication tools such as discussion boards and real-time chat to encourage interaction between students and instructors.
  6. Content Drip and Scheduling

    • Functionality to release course content on a set schedule, guiding students through the material at a controlled pace.
  7. Certificate Generation

    • Automated certificate creation upon course completion, customizable with course details, student names, and digital signatures.
  8. Responsive Design and Mobile Accessibility

    • A fully responsive design ensuring that the LMS is accessible on all devices, including smartphones and tablets.
  9. Reporting and Analytics

    • Comprehensive analytics tools for tracking student performance, course engagement, and platform usage, providing insights to improve learning outcomes.
  10. Payment Gateway Integration

    • Integration of secure payment systems for course purchases, supporting various payment methods like credit cards, PayPal, and more.
  11. Gamification Elements

    • Incorporate gamification features such as badges, leaderboards, and points to motivate students and enhance engagement.
  12. Instructor Dashboards

    • Dedicated dashboards for instructors to manage their courses, view student progress, grade assignments, and interact with students.
  13. Assignment Submission and Grading

    • Tools for students to submit assignments online, with capabilities for instructors to provide feedback and grades directly on the platform.
  14. Video Conferencing Integration

    • Integration with video conferencing tools (e.g., Zoom, Google Meet) to enable live virtual classes and meetings within the LMS.
  15. Notifications and Reminders

    • Automated notifications and reminders sent via email or in-app messaging to keep students and instructors informed about deadlines, new content, and other important updates.
  16. Customizable User Profiles

    • Allow students and instructors to customize their profiles with personal information, avatars, and a portfolio of completed courses.

    Setup Process

**Create new django project

Install latest python version or 3.11.5

Create New Folder called Django React LMS

In the folder, create two new folders called, backend and frontend

CD into backend and create a virtual environment - python -m venv venv

Activate the virtual environment - venv\Scripts\activate

Install Django - python -m pip install Django==4.2

Create a Django project in current folder - django-admin startproject backend .

Create a new requirements.txt file in the backend root dir and added the required packages

Install Required Packages from requirements.txt - pip install -r requirements.txt

Create new app userauths, core, userauths, api- python manage.py startapp app_name

Apps are: core, api, userauths.

Create a .gitignore file and add the files to be ignored

Install Apps in settings.py

Run Python Manage.py Runsever

npm install --global yarn

yarn create vite . --template react

yarn

yarn add axios react-router-dom@6.10.0 zustand

yarn add -D simple-zustand-devtools

yarn dev