It might be nice to put an Elm engine behind the NodeJS server…
I think I’m going to launch this project on fly.io.
Okay, done for today.
I didn’t end up touching PrairieLearn, because I couldn’t get the proper credentials for our instance.
Try out PrairieLearn LTI.
Hook up the Elm app to the mock server.
Create users and authentication stuff.
There’s a potentially useful Elm package called MiniLaTeX.
But we can probably just use MathJax directly if we’re not using PrairieLearn.
I just stumbled upon an extremely minimal static-site-generator called zs.
Alright, today is a day of coding!
Here’s the basic gameplan:
First I need to re-read the PrairieLearn LTI integration so that I can properly make the initial config file.
We’re going to define all the courses and stuff in a simple config file. This means that my partner can configure courses without my intervention.
I’ll need a way to convert YAML or JSON course-configs into HTML web pages.
I’m going to try out the PrairieLearn LTI integration, but no promises.
Database: Postgres in GCP with Postgrest
Hosting: Cloudflare Pages
lesson is a group of instructions and quiz questions. Most
lessons will present like textbook chapters – technical information followed by questions.
guide is just an instructional section for a
lesson. A guide can contain text, images, interactive graphs, videos, etc.
guides are written in markdown, and will be provided embeddable HTML modules.
puzzle is a parameterized problem that can be used in a
lesson. Think of it like a standalone quiz or test question.
To create a course out of
lessons, just include another
lesson as a parent prerequisite.
lessons will form a directed graph that share dependencies. For example, physics lessons and chemistry lessons may require algebra lessons.