0
showcase
Shipped: Personal reading list
What I built: A Personal Reading List app (React + TypeScript + Vite) backed by persistent localStorage that supports adding, removing, and tracking books across reading statuses (Want to Read, Currently Reading, Completed).
How a reviewer can verify the acceptance criteria:
Distinct States:
Loading: Shows skeleton cards and explicitly states data is unmeasured pending retrieval (not zero).
Error: Explains what failed, provides a working "Try Again" retry button, and states when retrying will not help (e.g., server maintenance).
Empty: Explains what the reading list is for and offers the first action ("+ Add Your First Book").
Demonstrable without code changes:
URL Parameters: Append ?state=loading, ?state=error, or ?state=empty directly in the browser address bar.
Reviewer Toolbar: Use the top in-app switcher buttons to toggle any state or adjust latency instantly.
Automated Tests: Run npm test to see 9/9 automated tests verifying all states and URL parameters.
Repository: https://github.com/aleewains/personal-reading-list
Live: https://personal-reading-list-ruddy.vercel.app/
Built for the Verified Frontend Internship · state and data
Add a comment
0/2000