Proposed Change: Store Assessment Instructions as Markdown in Database instead of using File field Status Pending development Summary Store assessment instructions as markdown in instructions column of assessment row. Justification Added flexibility and simplicity: Easier to move assessments around. Filesystem will not need to be part of assessment CRUD operations. Faster read and write Negative Impact A few hours of time (several days of work) Required actions Create migration to write all existing assessment file content to instructions column of corresponding row Remove file field from assessment struct Delete assessment files Teacher view (echo server): Remove view file content UI Remove file name UI Assessments UI: button to view instructions as html in iframe or new tab instead of regular text Assessments UI: button to edit instructions as markdown Assessments service method to render instructions markdown content to html using goldmark Assessments service method to edit instructions as markdown in markdown editor Student view (static site generator): Assessments UI to view instructions as html

Improve Course Calendar

Proposed Change Make the app course and term calendars show monthly view instead of entire semester with scrolling. Summary The static site calendar is much better than the app side in terms of appearance and ease of use. Need to bring the app side up to speed by using Tailwind calendar template like I did on the static side. Details Justification Negative Impact Required actions Possible actions Actions taken so far Create new route path with month and year params Added to showCourseCalendar route handler to parse these params and send the calendar Currently only displays the same information as static side, no interactivity yet possible Need to add all functionality currently available in app side calendar Need to implement on term calendar as well Try to eliminate complexity with interfaces in current setup

Leverage Hugo features more for markdown files

Proposed Change Mount markdown files to content folder and use hugo to generate pages rather than doing so manually in _content.gotmpl Use front matter in markdown files either programatically and/or entered by user via editor Summary Currently the content adapter adds pages manually. It works fine, but the problem is there is no way of setting and getting front matter fields such as title, etc. Details Since the file itself doesn’t store metadata the only place I could put that would be in the database. I really don’t want to deal with having file information in the database because that seems like a giant can of worms. ...