CSC/ECE 517 Fall 2025 - E2566. Finish DueDates

From Expertiza_Wiki
Jump to navigation Jump to search

Introduction

Background

- This project aims to complete the implementation of the DueDate system in Expertiza. The current implementation consists mostly of class methods and lacks proper definition of different deadline types and permission checking functionality. This redesign will create a more robust, readable, and maintainable due date system.

Existing Components

- DueDate model with polymorphic parent association (Assignment/SignUpTopic)

- AssignmentDueDate and TopicDueDate subclasses

- Basic CRUD operations and sorting functionality

- Database schema with deadline_type_id field

Motivation

- Currently, there are some glaring issues with how due_dates was created in the first place. From the same table in the database and having old/redundant way of doing actions.

  1. No DeadlineType model to define different kinds of deadlines
  2. Overuse of class methods making the code difficult to maintain
  3. Missing permission checking logic for user actions
  4. Incomplete deadline type definitions
  5. Duplicate team_formation entries in deadline_types table
  6. No clear separation of concerns

Tasks Identified

Demo

Demo Video

Demo Link

Future Work