toantd90 / cra-github-repositories-search

:octocat: Github repositories search :octocat:

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Github Octocat Png Github Inspectocat - Github Search, Transparent Png@kindpng.com

πŸ”Ž Github repositories search πŸ”

Smoothly find github repositories

πŸ“· Screenshots

Desktop

Screen.Recording.2023-02-01.at.9.17.45.AM.mov

Mobile

Screen.Recording.2023-02-01.at.9.54.01.AM.mov

πŸ“– Prerequisites

For development, you will only need Node.js installed on your environment.

pnPm

I used pnPm to save disk space and boosting installation speed. (benchmarks)

You should be able to run the following command after the installation procedure How to install pnPm

$ pnpm --version
7.26.2
Alternatives

Node

Node is really easy to install & now include NPM.

You should be able to run the following command after the installation procedure How to install Node.js .

$ node --version
v18.13.0

$ npm --version
8.19.3

Yarn

Yarn is a package manager. You should be able to run the following command after the installation procedure How to install Yarn .

$ yarn --version
1.22.10

🚧 Install

$ git clone git@github.com:toantd90/cra-github-repositories-search.git
$ cd cra-github-repositories-search
$ pnpm install

πŸ‘· How to run

$ pnpm start

πŸ’» Technologies

  • React JavaScript library for building user interfaces.

  • Typescript a strict syntactical superset of JavaScript which adds optional static typing.

  • SCSS extend the functionality of an existing CSS of a site like variables, inheritance, and nesting with ease.

  • Prettier is an opinionated code formatter.

  • React Query makes fetching, caching, synchronizing and updating server state in your React applications a breeze.

  • Chakra UI is a simple, modular and accessible component library that gives you the building blocks you need to build your React applications.

  • React Router enables "client side routing".

🚢 Approach

  • useThrottle help to not stress the API with calls once typing every character. Delay time is configurable. (500ms is the default setting)

  • Chakra UI used to build quick responsive UI. You don't need to write CSS for elements. Elements are also Accessibility supported already.

  • In order to provide a smooth pagination I use React Query. It helps to prefetch the next page so users don't need to wait for the data to be fetched. React Query comes with data caching and also keeps the previous data so users can have a nice experience using the app.

πŸ“” Notes

©️ License

MIT

About

:octocat: Github repositories search :octocat:


Languages

Language:TypeScript 78.6%Language:HTML 14.6%Language:SCSS 6.8%