Giter VIP home page Giter VIP logo

github-explorer's Introduction


Author Languages Stars Forks Contributors


๐Ÿ“Œ Table of Contents

๐Ÿš€ Features

  • Explore repositories
  • Show repository details such as Issues and Pull Requests

๐Ÿ‘ท Installation

You need to install Node.js and Yarn first, then in order to clone the project via HTTPS, run this command:

git clone https://github.com/LauraBeatris/github-explorer.git

SSH URLs provide access to a Git repository via SSH, a secure protocol. If you have a SSH key registered in your Github account, clone the project using this command:

git clone [email protected]:LauraBeatris/github-explorer.git

Install dependencies

yarn install

Start development server

yarn dev

๐Ÿ› Issues

Feel free to file a new issue with a respective title and description on the GitHub Explorer repository. If you already found a solution to your problem, I would love to review your pull request! Have a look at our contribution guidelines to find out about the coding standards.

๐ŸŽ‰ Contributing

Check out the contributing page to see the best places to file issues, start discussions and begin contributing.

๐Ÿ“• License

Released in 2020 This project is under the MIT license.

Made with love by Laura Beatris ๐Ÿ’œ๐Ÿš€

github-explorer's People

Contributors

dependabot[bot] avatar fariasmateuss avatar laurabeatris avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

github-explorer's Issues

[Refactor] Improve docs

Requested changes

Improve the docs, regarding the following topics:

  • Show examples
  • Improve features list
  • Improve installation instructions
  • Add contributing guidelines

Motivation

Improve the experience of contributors

[Refactor] Use react-query library to handle with server side data

Requested Changes

Use react-query library to handle with server-side data. Install it and create hooks that isolate the fetch logic, eg: useRepositories.

Motivation

Currently, data is being fetched without dealing with important strategies such as a cache, or data re-invalidation when focusing the UI. react-query handles all the complexity of cache and re-invalidation, by also exposing a nice layer of abstraction.

[Refactor] Update CRA to v4.1

Requested Changes

Update CRA to v4.1

Motivation

The CRA v4.0 ships the fast refresh feature, which improves the development experience.

Besides, there are also other improvements that can be important for this codebase:

  • Support to TS v4
  • Support for ESLint 7

[Refactor] Improve architecture

Requested Changes

  • Break the page into more components (Follow the "Show, don't tell" principle)
  • Define type definitions on separate files, such as types.ts
  • Use the https://github.com/soyguijarro/react-storage-hooks package to store values on local storage, since it deals with the cases where local storage is inactive on the browser.
  • Use absolute imports with TS paths
  • Use named exports to improve auto-import and nomenclature refactors

Motivation

The current architecture doesn't have a good approach regarding the following points:

  • Componentization
  • Location of type definitions
  • Use of local storage without verifying its existing

And regarding code style:

  • Use of relative ones with multiple levels '../../' and making reading difficult
  • Use of React.FC instead of explicitly setting the type for the component props. Refer to facebook/create-react-app#8177 in order to see the downsides of using it

Tasks

  • Improve componentization
  • Move type definitions to separate files
  • Use local storage with hooks packages to avoid accessing it directly
  • Use absolute import paths instead of relative ones with multiple levels '../../'
  • Remove React.FC and explicitly set the type for the component props. Refer to facebook/create-react-app#8177 in order to see the downsides of using it

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.