Proposed Change: Change Assignment Parent ID from lesson to course Summary This will make the lesson_id an optional field while making course_id mandatory, allowing more flexibility in the scope of an assignment. This will not impact functionality but will help prepare for additional functionality. Justification While most assessments aka “assignments” are specific to a topic introduced in a lesson, there are some, such as unit exams, or midterm/final exams where it does not make sense to associate it with a particular lesson. In fact, on exam days or project presentations, the assessment usually takes the entire class period and there is no “lesson” per se where new content is introduced. It is currently quite inconvenient to move an assessment from one lesson to another; actually, it’s impossible. The assessment must be deleted and then recreated. The assessment is tied strictly to its lesson_id and the file itself that is referenced in Lesson.File is stored within the lesson’s files. Note: the lesson file issue may become moot due to this change which will facilitate moving assessments up and down the tree as needed. I am not sure how frequently this would need to happen but what I am trying to avoid is a user having to delete and recreate an assessment rather than simply disassociating with the current node and associating it with another one, the case that they have a lesson assessment and want to make it a unit assessment, or a course assessment and want to make it a unit assessment, etc. ...

Proposed Change: Add ability to delete files Status Complete Summary There is currently no way on the front end to delete a file. Justification File deletion is a basic requirement of any file system Negative Impact A small amount of time Required actions I believe most of the feature already exists on the back end, and I should just need to add a button and route handler.

Proposed Change: Full re-design of code structure Status Completed! Summary Rewrite project to conform with feature-based + clean architecture. Justification Things are starting to feel unweildy and I would like to conform with modern architectural practices to the extent feasible. I would like to maximize the maintainability of my codebase because I have come to think that perhaps it is much much harder to add features or fix bugs than it probably should be. I am really starting to dislike the hacky way that I wrote things in the beginning and want to make it all nice and neat. ...

Proposed Change: Add new button in web application lesson details page to view slides in new tab Status Complete! Summary Presenter view is blocked, presumably due to slides being inside an iframe. This means speaker notes cannot be viewed. Viewing slides in a separate tab will allow presenter view to be accessed. Justification Speaker notes are an essential component of instruction for many teachers, even though I don’t often use them I do intend to in the future. ...

Replace App-Side Markdown Rendering With Static Site Preview

Proposed Change Replace app-side goldmark rendering with simpler static site preview window Summary Currently the user can view markdown files rendered to HTML with goldmark by the application itself. But there are some problems with this. Namely, I have to change rendering in 2 different places or it might not appear the same. Second and more importantly, if the markdown has shortcodes in it, they won’t work and the code will be shown as code. Details Remove the goldmark renderer Add a site preview link Justification Negative Impact Small amount of work Required actions Decide how to ensure build shown to user is not stale ...