Curriculum: Review Eventonica parts 1-4

Created on 30 Oct 2019  路  13Comments  路  Source: Techtonica/curriculum

These are newly created/updated lessons. It would be very helpful to have someone do the entire lessons and give feedback about:

  • Anything that's confusing
  • How long each lesson took you to complete
  • Any suggestions for improvement

Start by reading the intro: https://github.com/Techtonica/curriculum/blob/master/projects/eventonica/eventonica-intro.md

Then do:

  1. https://github.com/Techtonica/curriculum/blob/master/projects/eventonica/eventonica-part1-objects.md
  2. https://github.com/Techtonica/curriculum/blob/master/projects/eventonica/eventonica-part2-testing.md
  3. https://github.com/Techtonica/curriculum/blob/master/projects/eventonica/eventonica-part3-jquery-ui.md
  4. https://github.com/Techtonica/curriculum/blob/master/projects/eventonica/eventonica-part4-apis.md

It could take a long time to get through so it's OK if you just do the first few parts .or don't complete the entire project. But please do at least read and attempt all instructions.

See #1158 for Part 5 if you're on a roll and would like to continue 馃槉

MEDIUM priority wontfix

Most helpful comment

Feedback on lesson 2:

This took me about 20 minutes to complete. The instructions were clear to me! It was expecting that the code from lesson 1 was in an eventRecommender.js file in a project folder, so I can update lesson 1 to request that.

It could be nice to include a link to a Jasmine overview in the lesson. This can help the reader understand how to name and group tests, and understand the setup/teardown process.

All 13 comments

I can start reviewing the lessons!

Feedback on lesson 1:

This took me around 15 minutes to complete. Some areas for clarification are

  • what format should the event date be? should the reader use the Date() prototype, a string, or some other format?
  • I'm assuming the User and Event objects should have a unique identifier - should there be an example of how to use UUIDs or monotonically increasing integer ids?
  • for deleting user and events, should the reader implement a hard or a soft delete?
  • when deleting events, should the reader also delete those events from the individual user saved events?
  • can the reader use an object to store users and events instead of a list?

Feedback on lesson 2:

This took me about 20 minutes to complete. The instructions were clear to me! It was expecting that the code from lesson 1 was in an eventRecommender.js file in a project folder, so I can update lesson 1 to request that.

It could be nice to include a link to a Jasmine overview in the lesson. This can help the reader understand how to name and group tests, and understand the setup/teardown process.

Here鈥檚 the jasmine outline that happens few weeks earlier: https://github.com/Techtonica/curriculum/blob/master/testing-and-tdd/jasmine-testing.md

Feedback on lesson 3:

This one took me about 75 minutes. Some feedback:

  • There were several HTML elements that did not have an ID for jQuery to reference- is that on purpose so the reader adds the IDs? Ex: https://github.com/Techtonica/curriculum/blob/master/projects/eventonica/starter-code/index.html#L47

  • The CSS styling in Next Steps is rather open ended. Are there specific things the reader should add? Should there be instructions on how to add CSS styles?

  • Similar to my feedback on lesson 1, I think it's a good idea to show how to create unique IDs. The html template asks the user to input the ID.

  • Should the reader add any form validation?

  • Some UX updates we could ask for - clearing form fields after submission, renaming the submit buttons to be specific for each form, using <input type="date" /> for event dates, adding a dropdown menu for event categories.

  • I wasn't sure what this challenge was asking for : Add a variable to save which user is currently "logged in", so saving an event for a user doesn't require typing in the user's ID every time.. Is the reader meant to add some kind of login page? If the reader's implementation does not clear out the user ID field in the add user event form, then saving the user ID is not very useful.

@lemon-yellow thank you so much for the great feedback so far!

Feedback on lesson 4:

This one took me about 60 minutes. Some feedback:

  • I needed to create a Ticketmaster developer account to get the api key

-If your filters include special characters, the URL will need to be encoded(e.g., ?location=San Francisco => ?location=San%20Francisco)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI

Also regarding lesson 3, I looked into localStorage and it's challenging to use since it can only store strings. How did people work around this in the past? I ended up using javascript to split strings into arrays so I could store a list of events and users.

That concludes my review! I'd appreciate any feedback or answers to the questions I posted so I can determine what updates to the lessons are needed. Thank you!

Also regarding lesson 3, I looked into localStorage and it's challenging to use since it can only store strings. How did people work around this in the past? I ended up using javascript to split strings into arrays so I could store a list of events and users.

I wrestled with sessionStorage & localStorage today for a work project, and the solution I found was to JSON.stringify it before setting the variable, and JSON.parse it when you're getting it out.

localStorage.setItem('thing', JSON.stringify(newData));

const data = JSON.parse(localStorage.getItem('thing'));

Hi @vegetabill, do you know the intention for this ticket? Are you going to make issues based on this? Would you like me to?

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Was this page helpful?
0 / 5 - 0 ratings