I spent roughly 5-6 hours on this assignment.
I spent the most time on fixing configurations and figuring out TypeScript in general.
I struggled a lot with trying to learn and apply TypeScript at the same time. I believe that I would’ve been more ready for this assignment had I watched a YouTube tutorial on the basics of TypeScript first.
TypeScript caught issues like referencing removed symbols, passing strings instead of numbers for certain parameters, and errors between expected database row shapes and API response types.
I had trouble typing request parameters and database results because values coming from Express and SQLite don’t have guaranteed types. Some TypeScript topics that confuse me still are how to properly type database query results and type Express request and response objects.
I think writing tests was definitely boring, but I can see that it is helpful. Writing these tests made me more confident in my code.
My tests helped me find bugs by revealing cases where the server returned incorrect HTTP status codes for certain error conditions, which I then corrected to match the expected API behavior.
In the future, I would structure my tests to cover edge cases earlier instead of adding them later. While testing, I learned that writing tests during implementation helps catch logic and error handling mistakes quicker.
I occasionally did use LLMs. I used them to auto complete a lot of simple syntax.
The LLMs were honestly more annoying than helpful, since they often autofill code that I do not want, and make implementation slower. I don’t think they affected anything I learned from this assignment.