Idea, Features, and Architecture - natafaye/assignment-tracker GitHub Wiki

Idea

Many school teachers (particularly Junior High/High School) can get overwhelmed with keeping track of homework they’ve assigned to students. This project is intended to help teachers manage their classes. It will have a student view, where class members can see what/when assignments are due, and submit assignments, in addition to a teacher view where the teacher can make assignments and see what has been turned in and when it was turned in, and give feedback.

All Features

  • User Accounts
    • Make an instructor user account
    • Make a student user account for a class
    • Admin account that manages user accounts and permissions
    • User can delete their account
  • Instructor
    • Classes
      • Set up a class
      • Remove a class
      • Edit a class
      • Remove students from a class
    • Assignments
      • Create an assignment
      • Edit an assignment
      • Delete an assignment
      • See assignment submissions of students
      • Give students textual and video feedback on submissions
  • Students
    • See assignments coming up
    • Submit an assignment (textual or upload)
    • See past submissions and feedback from instructor
  • Other Cool Features
    • Note for students who miss class
    • Reading Contest
      • Students can track books read
      • Instructor can see reading progress of students
    • Make an assignment for multiple classes
    • Handle late assignments
    • Allowing students to be in multiple classes

Minimum Viable Product Features

  • Instructors
    • Make an account
    • Set up a class
    • Make an assignment for a class
    • View submissions from students
  • Students
    • Make an account for a class
    • See assignments coming up
    • Submit a textual assignment

Architecture

  • Back End - Flask, SQLite
  • Front End - HTML, CSS, Javascript, jQuery, Twitter Bootstrap