Over the span of 6 days I spent roughly 2 - 4 hours a day.
(rough estimate below)
- Building forms - 5 hours
- Building common generic components - 4 hours
- styling - 2 hours
- validation - 2 hours
- todo list - 3 hours
- refactoring - 1 hour
- debugging - 3 hours
- I decided not to use any style or state management libaries for the sake of keeping things simple and focusing more on writing quality css and react. I did however use a handful of third party libraries such as 'joi-browser' which helped greatly with validation.
- Small amount of planning, kind of just jumped right into it. I thought out what generic react components I needed and started working on those first, for example: ListItem.js
- Trying to abstract one general form component, so I didnt have to re-write handle functions for forms. Was not able to do this so each form ended up having their own handleSubmit and handleChange functions.
- Logging in. I kept getting an CORS error upon hitting the endpoint provided. I believe this is an issue that needs to be handled on the backend. I spent a lot of time trying to figure out how to get a response back.
- Editing a todo. I spent too much time trying to populate an update form for each listitem, but ended up getting it to work!
- Recently I learned the basics of typescript and I implemented it into a couple components to try it out. I added it to Input.js and Button.js
I added some screenshots of the app in the public folder.