Node

1. How easy was it to reuse your add book request handler logic for your edit handler? What changes did you need to make and why

- I added edit and delete book endpoints and adjusted my app setup so the database could be reused for testing and development. If I did it again, I would design the backend with testing in mind from the start to avoid having to refractor later.

2. What was your experience writing tests for your edit and delete endpoints?

- I used both server side and client side validation. Server side validation is required for security, while clien side validation improves user experience by catching errors earlier.

React

1. How did you integrate the book editing and deletion into your UI? Why did you choose the design you did?

- I added Edit/Delete buttons in each table row and used dialogs for editing and confirming that items were deleted. I chose this because it keeps everything accessible from the main table and avoids needing separate pages.

2. What parts, if any, did you struggle with when implementing edit/delete in the UI?

- The hardest part was managing states cleanly. Handling API errors and making sure the table refreshes correctly after changes also took some debugging.

Material UI

1. How did you feel about Material UI’s API and its look and feel?

- I liked the look and it made the UI feel more polished with little effort. The API was mostly consistent, but it took some time to learn the right components/props.

2. How easy was it to refactor your existing UI to use Material UI?

- It was alright. I had to replace plain HTML inputs/buttons with MUI components and update layout/styling patterns. Once I finished first form, the rest became faster.