Tutorial for independent project Idea

Hi all - I am working on a project, simply for myself. Let’s call it “1 hour”.

What I want to do is basically create an array of tasks, chores etc. that combine to create 1 hour of work after I get done with my actual job. I find that on my to-do list, I spend too much time just asking myself:

Do I want to workout?
Should I study for this certificate?
Should I practice this skill?

As someone who is into personal growth, it would be great if there was a program that just spit out a custom list of tasks that would combine to take 1 hour, even better if I could customize it to have a hierarchy.

IE) If date > October 2019, increase % chance of x-task.

Does this make sense?

All I am asking for is if someone could point me to tutorials or source code to something similar to generate ideas. Thanks!

one of the projects you always find in tutorials for beginners is a todo list

maybe start from that?

what you want to create is too specific to have a tutorial, but you can start from a todo list, and then implement task duration and random creation of a sub list which total to one hour of work

2 Likes

Great. Awesome Advice. Thank you!

It sounds like you would want to start with something like:

const chores = [
  { name: 'Wash Dishes', length: 15 }
  // ...
];

From this array of objects, which are your individual tasks, you’ll iterate over this array to create the list of tasks you display. Now, how you do that is up to you. I’m thinking recursively would be good. If you go recursive, meaning you keep looping over this array until you have enough tasks to fill an hour, you’ll need to ask at what point do you stop? What if you have tasks up to 55 minutes? Do you endlessly loop because you can’t match 1 hour exactly? Another thing you might consider is do you want repeat tasks? Probably not.

I would start with this array, and a simple recursive function that builds a list and work on some constraints from there. As for the UI, it’s rather simple I would imagine, you just want to populate the page with this data. You could build a single contained tool that generates the list on each page load, or build a button on the page to rebuild the list; you can do this with Vue. I suggest vue because the page can be a static project you can open from an index file, and vue is pretty simple. You won’t need any web servers or any npm installs/dependencies, nothing.

This is a really good project idea! It’s pretty simple though. I made something similar for myself, it keeps tracks of my upcoming payments in the month so I know which ones are next.

Sorry for the delay. Thank you so much for your feedback! Im gonna give this a go. To be fair, I am still pretty new to Javascript, and I am still working on my repetition with a lot of more basic tasks. I will certainly let you know how it goes.