Skip to content

A React web application to list weekly trending GitHub repositories utizling GitHub's REST API, with the ability to star/unStar repos while persisting the starred state in localStorage.

Notifications You must be signed in to change notification settings

awahab07/weekly-trending-github-repos

Repository files navigation

Build Status

About

This project is a React application which consumes github REST search API (the application fetches and lists trending repos).

The project demonstrates the following capabilities:

  • Using latest React version with fully typed React Components and Classes.
  • Advanced TypeScript usage for strict typings.
  • How a dependency could be kept detached and mocked in tests using a simple class and without using inversify-react.
  • A clean, clear, identifiable and scalable directory and files structure. Inspired by LIFT.
  • Directory structure is kept so that at any point, any feature module could be moved as a separate external standalone package.
  • Advanced React Hooks usage for components and material-ui theming.
  • Demonstration of how redux-toolkit along with TypeScript could be utilized to yield less boilerplate and keeping feature specific states local to feature modules and components.
  • The project is built in a TDD style. The repository's commit trail could be examined to know the top-down approach for tests and a bottom-up approach for refactoring and scaling application.
  • This project was bootstrapped with Create React App.

Available Scripts

In the project directory, you can run:

yarn start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

yarn test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

yarn build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

yarn eject

Note: this is a one-way operation. Once you eject, you can’t go back!

Learn More

You can learn more in the Create React App documentation.

To learn React, check out the React documentation.

About

A React web application to list weekly trending GitHub repositories utizling GitHub's REST API, with the ability to star/unStar repos while persisting the starred state in localStorage.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published