riddlr icon indicating copy to clipboard operation
riddlr copied to clipboard

riddlr refactor

Open dgkf opened this issue 5 years ago • 0 comments

This project kicked off largely as a proof of concept and focused only on getting a working app out the door while exploring the feasibility of making a "real-world" programming environment available within a shiny app (with code completion, ability to load libraries, syntax checking and available documentation).

I think the feasibility was proven, but the code isn't necessarily approachable. There's a lot of assumed structure being passed around as lists without any constructors.

There are a few things that would tremendously help to keep the code maintainable:

  1. riddle, riddle_grader and riddle_grader_test constructors
    • riddle(<prompt>, <grader>)
    • riddle_grader(<solution>, <list(<riddle_grader_test>)>)
    • riddle_grader_test(<input>, <timeout>, <grace_timeout>)
  2. Add parse_riddle_rmd_dir to build a catalog from a directory of Rmd files.
  3. Rename riddle and riddle_ui shiny module constructors to shinyRiddle and shinyRiddleUI and migrate to using riddle class as input instead of independent fields.

dgkf avatar Jul 17 '20 18:07 dgkf