It's a hard number to estimate because I started pretty early, trying to figure out the knick knacks of this homework. There were some things I wasn't too familiar with so it took me some time to piece it altogether. Once I got it all smoothed out it didn't take too long. I think if I were to give a rough estimate, I would say maybe around a total of 10hours.
At first, I was writing both the server request code and the test code at the same time. Some time doing the test first then writing the code, Test Driven Development. I was still trying to figure out my flow. However, towards the end, I realized I should just focus on writing the requests first and then worry about the tests later. This led me to developing quicker and getting the assignment done. Because of my earlier strategy of going back and forth, I wasted a lot of time trying to debug a lot of silly mistakes. I spent a lot of my time on the tests.
I spent a lot of time on the tests but in reality, it wasn't that difficult to get down once I had my requests solid. Something that would have improved my experience on this assignment is moving the hints and helper code in the starter file to maybe another reading/resource page on a site. It made going through the starter files a little more difficult to understand what was going in the file. I also didn't use a little more than half the helper code in the file since I wasn't sure on how to use them within my code. I'm new to Typescript. I would have liked a little more resourses on understanding on how to implement that into the code I had written because it doesn't seem like I used any types.
To be honest, I don't remember... sorry...
I think I'm starting to understand interfaces however, something that is still confusing to me is how we utilize type we create. Something like type BookResponse = Response<Book | Error>;
.
Definitely a little tedious. I think it did help with testing the code. I did like seeing the green when tests were passing and it did assure my that my code was working as intended.
No, not that I remember.
I spent a lot of time at the beginning figuring the tests out along side writing the code. Moving forward, I will be focusing on writing the code out first and checking with the tests after.