Thursday, March 2, 2023

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. 

Wednesday, March 1, 2023

Day 5 (2/27/2023)

Did some investigation on the cost of running the solution in AWS.  Right now we are looking at about $5.50/month.  



This is assuming that there would be a pretty small application, and we wouldn't have too many builds to the product.  If we are doing heavy development, it might increase the amount of time doing tests and builds.  This can also be mitigated by doing few pushes of the code.  If this is developed via AWS SAM, you should also be able to run any tests locally, and test out the website.  The only thing that this solution doesn't have is a the telemetry / observability as it relates to issues monitoring and usability. 


Saturday, February 25, 2023

Day 4 (2/25/2023)

Okay, so, finally got started on doing some of the application work.  At actual work I manage a bunch of software engineers, and some DevOps / SRE, everything but making the application engineers, along with some other people.  But, I've never actually built an application myself.  The main application at work is an Angular/Typescript application, so I figured the Gamify School application might as well be the same.  I also don't have much experience with HTML beyond some puttering around a long time ago, and I only have a vague understanding of the various components of CSS.  So, this should be "fun". 

I've installed Angular (made it through this step https://angular.io/guide/setup-local), added Material (https://material.angular.io/guide/getting-started) and now have a local Angular application running. The next steps are going to be getting my build and deploy mechanisms setup and working.  I haven't decided yet if I'm going to use one of the AWS code pipeline options, figure out how to do something local on my system here that will build and deploy on each local commit I do, or tie into GitHub and do something there.  Again, this should be "fun". 

The idea is that once I have this process all worked out, I'll work with my son to go through this process and we can start collaborating on this project.  I also need to decide if I'm going to start him off writing all of the tests to validate his application code as we write.  I know some professional engineers who struggle with writing tests for their code, so it seems like a pretty high bar to set from the start, and I want him to succeed, and build confidence ... but starting out writing code that includes tests from day one, that's a pretty big advantage if he decides to do coding professionally.  

Wednesday, February 22, 2023

 Day 3 (2/22/2023)

Going to try the Blog route for updates, and I'm going to embed the blog, specifically the articles with the "gamify_school" into the website to see if that works. If it does, then it should make for a little bit easier update.  It is also a little bit easer to do updates in the Blog vs on the website.  Not by much though, so if the format doesn't really turn out, this might be the only post.  It may take a while for this post to show up though, because I'm still waiting for the custom domain HTTPS validation to go through.  

Monday, February 20, 2023

 First Post

That's right, this is my first post on the 18vShop Blogger site.  I don't really know what I'm going to do with the Blogger site, but I wanted to see if I could use this to simplify making posts about a topic, and then maybe include those posts into my Google Sites site, perhaps as an embedded site?  Perhaps using Labels to identify posts that relate to a particular page?

Blog Archive