Component based architecture Programming idead where your application is broken down into components or smaller pieces. In this way team projects can be easily split by each person coding different components. Also more easily readable and easier to debug. Essentially one has a wireframe or mockup of the application then they break it down into its main components and maybe even further depending on how big the application is or how detailed one wants their app.
How I would split this TodoMatic app into components The first heading I would leave as is The input field I would make a component I would make button a component then into smaller components (Add, edit, delete, all, active, commpleted) edit would use input field component from earlier (Atleast that would be my plan) checkboxes I would a component
Overall The intial heading some div tag for formatting and ul and li would be the remaing html code So inside the div, ul and li tags would all become components (I'm also thinking li could be a component that uses checkbox components and button componets)