Skip to content

A learning management system created with Django

License

Notifications You must be signed in to change notification settings

omackenzie/poodle

Repository files navigation

Poodle

A learning management system created with Django. This project was made for my major SDD work, and later revised to add additional features and testing

Setup

  1. git clone https://github.com/omackenzie/poodle
  2. Install the required modules by running pip install -r requirements.txt (create a virtualenv first if you wish)
  3. Run python manage.py runserver to start the server, then navigate to localhost:8000 in the browser

Features

  • Creating classes and assigning teachers and students to those classes
  • Teachers can create assignments which students can view and upload files to
  • These assignments have individual sections with their own separate upload option
  • Teachers can then view all submissions from students in their class
  • Custom styling and the ability to add images for assignment and sections using the rich text editor Quill

Setup Guide

  • First sign into the admin account using the credentials admin:password then navigate to the admin panel (either by clicking your profile in the top right and clicking "admin panel" in the dropdown, or by going to the URL localhost:8000/admin
  • Create any teachers or students you want to use, then create a class, assigning students as required to that class
  • You can then go back to the main page and sign in using the teacher or student accounts you created
  • A tutorial on the features of the site is available by clicking your profile in the top right and clicking help in the dropdown

Testing and linting

  • To run tests, execute python manage.py test
  • To check coverage, execute coverage run manage.py test, then coverage report -m
  • To install the necessary tools for linting, run pip install -r dev-requirements.txt
  • Linting uses ruff, ruff check .
  • Import ordering is done with isort, isort .

TODO

  • Quizzes

Screenshots

Home Assignment

About

A learning management system created with Django

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published