

A clean application listing Star Wars data with detail pages and pagination using React, TypeScript, Apollo Client, and GraphQL.
Category
Frontend
Status
Completed
GitHub Stats
Created
Feb 14, 2024
Last Updated
Jan 18, 2026
In this project, I developed a React-based application that fetches and lists Star Wars data via GraphQL, featuring a detail page and a pagination flow.
REST-based data fetching examples can lead to unnecessary data loading and complex request structures. In this project, I focused on establishing a cleaner data flow by using GraphQL to fetch only the required fields.
I built the application using React, TypeScript, and Apollo Client. It fetches a paginated list of characters from the SWAPI GraphQL endpoint, and on the detail page, it retrieves the selected character's film, species, and planet information through separate queries. I managed page transitions with React Router and controlled query states through loading and error states.
The outcome is a small but clean example application that clearly demonstrates GraphQL query logic. The project showcases the usage of Apollo Client, paginated queries, and a component-based data fetching flow in a practical manner.
React, TypeScript, Apollo Client, GraphQL, React Router DOM, Vite, Tailwind CSS