Giter Club home page Giter Club logo

github-user-search's Introduction

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:

github-user-search's People

Contributors

krenhammer avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.