A small practice project built with React + TypeScript to learn the fundamentals of component-based architecture, hooks, and typed state management.
The goal of this project was to understand the basics of React and TypeScript before working on larger full-stack applications.
Status: ✅ Completed
Version: 1.0
Tech: React, TypeScript, Vite, CSS
This project manages a personal reading list with simple CRUD-like interactions.
Users can add books, update their reading status, and filter them by category.
All data is persisted in the browser through localStorage, keeping the app lightweight and fully client-side.
The project helped me understand the core concepts of React and TypeScript, and also showed me that while I enjoy frontend development, my main interest and strength lies in backend work.
- Add books with title, author, and optional category
- Manage reading status:
- To Read
- Reading
- Finished
- Filter books by reading status
- Persistent data using localStorage
- Component-based structure with React hooks (
useState,useEffect, props) - Strong TypeScript typing using interfaces and union types
- React 18
- TypeScript
- Vite
- CSS (light custom styling)
- How React components work and how they share data
- Managing local component state and derived UI
- Basic TypeScript patterns (interfaces, generics, typed props)
- Handling side effects with
useEffect - Structuring small React applications
- Understanding how frontend and backend mindsets differ — and realizing I naturally prefer backend work
This project served as a stepping stone before using React + TypeScript in larger, full-stack applications.