12/30/24

  • 12/30/24 Today was a day of stepping back and realizing I have created a whole new mess of problems.
  • 12/30/24 I am increasingly thinking that I should try to eliminate the central importance of the unit in the system.
    • A lesson should belong to a course rather than a unit
    • A course should have a slice of lessons rather than a slice of units
    • Parts of the course manager and course site that lists all units will also need to list lessons that don’t have a unit
    • New queries to fetch lessons by unit id.
  • 12/30/24 I realized today that allowing the user to change the name of a lesson would completely mess up the system, since the file system for the site generator depends on the names of lessons remaining constant across terms.
    • New hidden file system where directories match lessonIDs rather than lesson names.
    • User will no longer touch slide text directly but will rather edit this text indirectly either:
      1. Write to temporary file with file watcher and allow user to edit through another program
      2. Edit through the app, while (at some point) providing marp preview
    • Directory will be copied over for each course i.e. when a course is fit to a new term
    • Slide text will be stored in Database as text and added as a field of Lesson
    • Site generator will write the text to a markdown file before running marp to render to HTML
    • To save size requirements, images will be kept in a single directory so they don’t need to be copied over for each course
    • If a lesson has a new ID
  • 12/30/24 Worked on the edit lesson form a bit.
  • 12/29/24 Major milestone today. Finally got the calendar interface working with the ability to move lessons one date left or right. Got rid of CourseSchedule across all layers.