Day 6 (3/2/2023)
Okay, so, a bit of a change in direction. I'm going to continue to call this my gamify_school project, even though it's turned into a Gamify Chores project. Which, as it turns out, is much easier. Yesterday I did some research, and didn't bother to write up the details, so I'm putting two days into one blog post.
Looking over the amount of data that I would have to collect and organize to actually do the Gamify School correctly, it's a lot. There are Subjects, and Students, and Schedule, and Assignments, and Work (which is what happens when somebody does an assignment). The hardest part there is that either the kid needs to schedule all of their work each day, including the tasks they are going to complete, or a parent has to do it. That's just a lot of work. There are whole applications dedicated to that, and people pay to have the Subjects actually pre-popluated with all of the assignments. (https://homeschoolplanet.com/) is an example.
So, doing chores should be easier. I found this AWS RE:Invent talk about how to design an AWS DynamoDB table. It provided some great information, and I'm one step closer to deciding how I'm going to store the data. That is actually the long pole in the planning phase. Once I have an idea of my usage patterns for the data, I'll be able to create the DynamoDB, throw together some UI elements to enter data, and some simple displays. Then we just need some UI elements to track the progress of chores. There were some good examples that had enough similarity to the Chore paradigm that it should allow me to end up pretty close to right on the design. There really isn't going to be any really complex manipulations or display options right now. Just lists of chores, and Start / Stop, along with some Chore assignments, and perhaps some recurrence options. So the Lambda functions should be pretty straight forward.
Next step, watch the video one more time, read just a little more, then create the DynamoDB table. After that we start on the code, but for the UI, and the APIs.

