Git Product home page Git Product logo

devclub-assignment5's Introduction

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

devclub-assignment5's People

Contributors

madhavgulati277 avatar as1605 avatar devclubiitd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.