Skip to content
This repository has been archived by the owner on Aug 8, 2022. It is now read-only.

Backend Engineering with Django | Assignment for DevClub IIT Delhi Lecture Series

Notifications You must be signed in to change notification settings

devclub-iitd/DevClub-Assignment5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevClub Assignment 5

You have learnt about backend engineering with Django in our session. Now use it to create a web application by yourself!

DevClub LMS (Learning Management System)

You must have used Moodle in your courses, where both instructors and students login, and for each course, the instructor uses the platform to share resources, send announcements, release grades, conduct quizzes and what not!

Your task is to create your own such a learning management system using Django, where you can add functionalities as per your own creativity!

We would recommend you to have these apps inside the project:

  • Users (to store auth logic, and models for Instructor, Student, Course, Admin)
  • Grades (to store logic for sharing grades for any assessment, and models for let's say a class Grade)
  • Documents (for Instructor to upload Docs like lecture notes for the course)
  • Quizzes (this can have models for a QuestionBank containing Question's which form a Quiz)
  • Communication (to work on features like Course-wide Announcements, Replying in threads to announcements, sending personal Messages)

Try to implement as many features as you can, but make sure to plan the structure of the project and database schemas well!

Bonus:

  • Deploy on Heroku
  • Create documentation for any RESTful APIs created with documenter on postman
  • Markdown support for Communication
  • Email: For registration, password reset, notifications, instructor custom message
  • Bulk upload from CSV for grades, quizzes
  • Generating PDF: Print digitally signed transcript
  • Add security features for the quizzes

Submission Instructions

  • FORK this repository, by clicking the "Fork" button on top right
  • clone the forked repo into your machine, and cd into the Repo Folder such that you are in same directory level as manage.py
  • If on macOS, run python3 -m venv env, otherwise python -m venv env
  • Now activate the virtual environment by source env/bin/activate
  • See if the environment is correctly set by running pip list, it should be mostly empty
  • Install dependencies with pip install -r requirements.txt
  • We have already started a dummy project called DevClubLMS for you
  • Now, you can use python manage.py runserver to start the dev server or python manage.py startapp <appname> to create a new app inside this project
  • After completing the assignment, append instructions to run your project, along with explanation of features etc in this README
  • It would be nice if you can host it on Heroku and also give a documentation of each endpoint through postman
  • Finally submit with your details in the Google Form
  • You do NOT need to make any pull requests to this repo

Resources

About

Backend Engineering with Django | Assignment for DevClub IIT Delhi Lecture Series

Topics

Resources

Stars

Watchers

Forks