krenhammer / github-user-search

Optimized GitHub User Search.

Home Page:https://sk-ghusersearch.netlify.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Github User Search

Is a TypeScript based React web application used to search the Github userbase.

Highlights

Development/Deployment Workflow:

In order to facilitate a clean development/deployment workflow, this app makes use of three branches:

For convenience, the scripts directory contains two scripts to automate merging between the three branches:

Additionally, both scripts can be run simultaneously using the merge-deploy package.json command.

GitHub Actions Deployment

The app uses GitHub Actions to enable a continuous integration workflow for deployment to Netlify.

Here is an overview of that process:

Feature / Onboarding Tour

Clicking the Tour Button (see below), starts a Feature Tour

API Request Caching

Facilitated through the use of React Query

Cache and Stale times are adjusted in the useUser.ts and useUsersSearch.ts custom hooks. See below for more info.

HINT: Click the React Query Dev Tools button in the lower left corner to open the inspector.

Application Wide State Management

The application utilizes Valtio's change aware proxy state. In addition, Valtio supports the use of the standard Redux Dev Tools browser extension to provide a formidable state inspection toolset. See state folder contents for more details.

Custom Hooks

Can be found in the Hooks directory.

Chunk Splitting / Federated Lazy Loading

App uses @loadable/component to lazy load React Components for given routes. This enables Vite Chunk Splitting / Brotli Compression and reduces the bundle size. See main.tsx

Browser Experience Optimization

Application has been tuned using Chrome Lighthouse to provide an optimal browser experience.

Accessibility

Application leverages React Aria to ensure high-standard accessibility for the user interface.

Responsive Layout / PWA Functionality

By utilizing TailwindCSS' Mobile First breakpoints and the Vite PWA Plugin, the application is able to support a robust Mobile experience. See vite.config.ts for more details.

Service Worker tasking can be viewed below:

About

Optimized GitHub User Search.

https://sk-ghusersearch.netlify.app/


Languages

Language:TypeScript 91.7%Language:JavaScript 4.7%Language:CSS 2.0%Language:HTML 1.0%Language:Shell 0.6%