Reflection 2

1: Node

1.
I had to modify the backend so that it returned BookDB instead of an array. I had to make sure the typing matched with the frontend. I also refactored some of the typing into its own file.

2.
I used a bit of both server and client side validation, but mostly client side. I think a pro is that there is extra checking and one side doesn’t become to bulky. The server side was mostly sql related things like the table not containing data. I think the pro of having more client side is that users can see some of their errors quicker without having backend processing first.

2: React

1.
I like react. I struggled a bit with managing the large amount of state variables and keeping track of the states between renders. I enjoyed the reusability of different pieces of code that components provided.

2.
The experience was different as there was less manual work you had to do keeping track of different html bits for JS DOM, while react was more about managing state. I preferred react as I didn’t have to manually keep the DOM in sync.

e.
Types with frontend was useful. It helped me find bugs and made sure the backend types the endpoints were returning matched what I was expecting in the frontend. I liked having types as it helped keep things consistent, and helps me debug.

3: LLMs

1.
I did use LLMs to help with debugging and also figuring out outputting error messaging.

2.
It didn't make it more or less fun. It helped me debug some parts like figuring out why my table was rendering properly and other things, which made development less frustrating. It also helped me learn a bit but explaining fixes and giving additional context.

Back to Home