I developed this project as a challenge of my latest studies on React lessons at Rocketseat.
- React
- TypeScript
- Figma
- Styled Components
- React Router
- React Hook Form + Zod
- React Markdown
- Axios + GitHub API
- use-context-selector
This project was developed based on a Figma design provied by the school. The main practice was fetching data from GitHub API using Axios and improve app performance with useCallback, useMemo and memo. Also, I used Context API to access functions and variables across components and implemented use-context-selector package for better performance. I took some liberties and challenge myself to implement a loading and empty states on components, a pagination at home page and setup React Markdown to convert markdown to HTML.
It includes: A home page containing user card and posts list with pagination and filter by query string; A post page with post contents; A fallback page for general errors such as 404.
VITE_API_URL="https://api.github.com"
VITE_API_VERSION="2022-11-28"
VITE_API_ENABLE_DELAY=true
VITE_GITHUB_USER=<USERNAME>
VITE_GITHUB_REPO=<REPO>