π¦Έ π¦ΈββοΈ Stop starting and start finishing.
π
If you work on more than one feature at a time, you are guaranteed to multiply your bugs and your anxiety.
-
Make a drawing of your app. Simple "wireframes"
-
Once you have a drawing, name the HTML elements you'll need to realize your vision
-
For each HTML element ask: Why do I need this?
-
Once we know why we need each element, think about how to implement the "Why" as a "How"
-
Find all the 'events' (user clicks, form submit, on load etc) in your app. Ask one by one, "What happens when" for each of these events. Does any state change?
-
Think about how to validate each of your features according to a Definition of Done
-
Consider what features depend on what other features. Use this dependency logic to figure out what order to complete tasks.
- data.js file with array of people (name, pronouns, favorite_place, hobbies)
- template: head and bosy, header, main, footer
- header text, main elements (select & div)
- options in select (with values)
- elements in div (h4, p, span, h6, ul)
- grab dom elements in app.js and create eventlistener for dropdown
- create and implement function to render the appropriate person
Additional considerations:
- Ask: which of your HTML elements need to be hard coded, and which need to be dynamically generated?
- Consider your data model.
- What kinds of objects (i.e., Dogs, Friends, Todos, etc) will you need?
- What are the key/value pairs?
- What arrays might you need?
- What needs to live in a persistence layer?
- Is there some state we need to initialize?
- Ask: should any of this work be abstracted into functions? (i.e., is the work complicated? can it be reused?)