feat: add a prototype for the Guild Loot Tracker lab#1078
feat: add a prototype for the Guild Loot Tracker lab#1078Sebastian-Wlo wants to merge 14 commits intofreeCodeCamp:mainfrom
Conversation
This adds a prototype for the Nutrient Tracker Dictionary lab. Currently, the prototype uses "for()" loops and ".sort()" method. Couldn't figure out how to use "Object.values()" in the functions.
jdwilkin4
left a comment
There was a problem hiding this comment.
Please make to include the user stories so those can be review too just in case updates need to be made there.
Also, please let us know where this falls in the curriuclum.
loops module?
review modules?
higher order functions?
we will need that information when conducting reviews 👍🏾
|
Just to make sure: should the user stories be a copy of those mentioned in the related issue, or should I come up with some new ones? As for where this lab should be placed in the curriculum - originally, it was supposed to be in the Objects module. But I think So, Loops would probably be the right place for it. Thank you, I'll add the user stories as soon as I can. |
|
you can use those from the issue as base, and update as needed based on changes that have been made |
|
Sorry! I tried to rename the branch without thinking what it would do to the PR.
|
|
wouldn't this project have a similar issue to the nutrient tracker that we are replacing because potentially triggering? |
Possibly, in the current form at least - someone actually pointed it out after I chose the issue. I'm not sure if it means I should come up with a different theme (I'm not the most creative person out there, so it might take some time), or leave the prototype as if for now and wait for a review. |
|
there are many other things that could be tracked in a pretty similar way, so the prototype is still good, there will be need to change the name of some things before it's ready tho |
Changed "lab-nutrient-tracker-dictionary" to "lab-guild-loot-tracker" to fit the new topic for the Lab.
Changes all references in "user-stories.md" from nutrient tracking to guild loot management, and "dictionaries" to "objects".
Changed references "nutrient tracking" references in "script.js" to tracking guild loot management.
|
The overall "theme" has been changed to a new one (thank you once more @naomi-lgbt, if it wasn't for you, I would have been stuck at coming up with something for some time). It will definitely need changes, since Should I request another review for this? |
jdwilkin4
left a comment
There was a problem hiding this comment.
I left some thoughts on the user stories.
But also noticed that none of these functions are being used anywhere.
From an educational standpoint, we don't want to send the message to beginners to create functions in their code and not use it. All of these functions should be used in some way so campers can connect the dots and see what is actually happening in the code. Even if it is just logging these function call results to the console.
|
Also, please update your PR title since the project was changed 👍🏾 |
That's fair - I've been trying to make the prototype work without these methods, and while it could be done, it felt like it wasn't introducing anything that wasn't already shown in the labs for the loops. It also felt more "awkward" than it probably should, if that makes sense, but I wasn't sure if that was because the lab's description didn't really fit that section, or if it was just me doing a bad job of it.
I'll do that, thank you! |
|
What's the status for this lab? |
|
@jdwilkin4 I haven't worked on it in a while, but I can try modifying the prototype to use these specific methods instead of loops so it would be ready to be divided into steps. |
|
I would confirm with Naomi to see what next steps should be here 👍🏾 |
|
I asked her a while ago, this is what she told me:
... which, had I read the response properly back then, I could have done a long time ago. I'll make the changes soon. |
Removed the "listTopMembers" function and added "listMembers", which logs the input object entries to the console.
…d description of "listMembers" Replaces description of the removed "listTopMembers" function with one for "listMembers".
|
Actually, as far as I understand, turning this lab into a workshop would probably require going through a completely different process - I'll ask Naomi how to do it properly and if I should create, or wait for, an issue about the lab. |
|
at the prototype stage, the main difference is that a workshop does not need user stories, and that the protytpe is the final solution of the project, not just a possible solution |
|
Can you post any updates you have regarding this project? |
|
It looks like a quick glance there were recent conversations on discord regarding this. But those conversations can easily be burried. |
|
@jdwilkin4, Sorry for the lack of any activity! |
This removes user stories from the prototype - Guild Loot Tracker is supposed to be a workshop, and workshops don't use them.
This changes the structure of the Guild Loot Tracker to fit better as the workshop.
|
First of all, I'm really sorry it took me so long to add any updates. I'm still not happy with the I hope to keep working on this, but I'd really appreciate any pointers on how to turn this into a actually useful workshop |
|
it would probably be best to open up a thread on discord under naomi's sprints channel. |
This renames the directory the code is contained in. It's done to avoid potential confusion, since the purpose of this prototype changed from a Lab to a Workshop.
This changes the getMemberTotals() so it either return an object including the member's resources or `false` if the guild object doesn't include that member.
…', add coments This changes the way the "main" functions of the script work., and adds comments to make describing the workshop's steps easier.
|
Terribly sorry it took so long! I've unfortunately been really busy. Sorry the prototype is not up to an acceptable level. Aside from from all of the (too many) During the conversation in the Naomi's sprints channel it turned out that it's not clear the names I've used for the guild members are actually names (which I should have seen coming, to be honest). |
| // This will be a workshop for the Loops section, probably after the "Build a Profile Lookup" lab. | ||
|
|
||
| // Creating the "guild" object could be 2 or 3 Steps (creating "guild" object itself and adding the first "guild member" object as the first property - rest of the "guild members" can be filled out somewhere between the next steps to avoid too much repetition). | ||
| let guild = { |
There was a problem hiding this comment.
these names should work
let guild = {
ethan: {
gold: 31,
silver: 48,
reputation: 9,
experience: 198,
},
elara: {
gold: 78,
silver: 64,
reputation: 12,
experience: 111,
},
brandon: {
gold: 41,
silver: 7,
reputation: 7,
experience: 70,
},
dylan: {
gold: 81,
silver: 2,
reputation: 20,
experience: 220,
},
lucas: {
gold: 34,
silver: 28,
reputation: 10,
experience: 179,
},
natalie: {
gold: 36,
silver: 81,
reputation: 12,
experience: 82,
},
};
I left a comment regarding the names. But in general, some of the staff would probably be fine having their names in the curriculum while others might not. So using fake yet more realistic names should be fine here. |
Checklist:
Update index.md)Relates to: freeCodeCamp/freeCodeCamp#64119
for()loops andArray.prototype.sort()method,