Skip to content

A learning management system using django web framework. Course add and drop, grade and assessment result management, online quiz, report generator, student and lecturers management, dashboard, and so much more...

License

Notifications You must be signed in to change notification settings

ivanchenph/django-lms

 
 

Repository files navigation

Learning management system using django web framework

Access credentials:

  • username: admin
  • password: securetest@123

Feature-rich learning management system. You may want to build a learning management system(AKA school management system) for a school organization or just for the sake of learning the tech stack and building your portfolio, either way, this project would be a good kickstart for you.

Let's enhance the project by contributing! 👩‍💻👩‍💻

Screenshot from 2023-12-31 17-36-31

Current features

  • Dashboard: School demographics and analytics. Restricted to only admins
  • News And Events: All users can access this page
  • Admin manages students(Add, Update, Delete)
  • Admin manages lecturers(Add, Update, Delete)
  • Students can Add and Drop courses
  • Lecturers submit students' scores: Attendance, Mid exam, Final exam, assignment
  • The system calculates students' Total, average, point, and grades automatically
  • Grade comment for each student with a pass, fail, or pass with a warning
  • Assessment result page for students
  • Grade result page for students
  • Session/year and semester management
  • Assessments and grades will be grouped by semester
  • Upload video and documentation for each course
  • PDF generator for students' registration slip and grade result
  • Page access restriction
  • Storing of quiz results under each user
  • Question order randomization
  • Previous quiz scores can be viewed on the category page
  • Correct answers can be shown after each question or all at once at the end
  • Logged-in users can return to an incomplete quiz to finish it and non-logged-in users can complete a quiz if their session persists
  • The quiz can be limited to one attempt per user
  • Questions can be given a category
  • Success rate for each category can be monitored on a progress page
  • Explanation for each question result can be given
  • Pass marks can be set
  • Multiple choice question type
  • True/False question type
  • Essay question type
  • Custom message displayed for those that pass or fail a quiz
  • Custom permission (view_sittings) added, allowing users with that permission to view quiz results from users
  • A marking page which lists completed quizzes, can be filtered by quiz or user, and is used to mark essay questions

Quick note for future contributors

If you would like to contribute, simply begin by implementing one from the list in the TODO.md file.

Requirements:

The following programs are required to run the project

Installation

  • Clone the repo with
git clone https://github.com/adilmohak/django-lms.git
  • Create and activate a python virtual environment
pip install -r requirements.txt
  • Create .env file inside the root directory

  • Copy and paste everything in the .env.example file into the .env file. Don't forget to customize the variable values

python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

Make sure your Redis server is running

redis-server

Start the celery worker

celery -A config.celery worker -l INFO

Last but not least, go to this address http://127.0.0.1:8000

References

Professional help

Learn more

Connect with me

Help me improve the project and upgrade my trusty old laptop

adilmohak



Show your support by ⭐️ this project!

About

A learning management system using django web framework. Course add and drop, grade and assessment result management, online quiz, report generator, student and lecturers management, dashboard, and so much more...

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 52.3%
  • HTML 42.7%
  • SCSS 4.4%
  • JavaScript 0.6%