https://github.com/raulfdm/gh-open-prs
Dashboard to track projects PR's from an organization
https://github.com/raulfdm/gh-open-prs
github organization pull-request pull-request-tracker
Last synced: 11 months ago
JSON representation
Dashboard to track projects PR's from an organization
- Host: GitHub
- URL: https://github.com/raulfdm/gh-open-prs
- Owner: raulfdm
- License: mit
- Created: 2019-11-09T21:26:49.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-10-28T03:53:09.000Z (over 2 years ago)
- Last Synced: 2024-05-14T00:44:00.394Z (almost 2 years ago)
- Topics: github, organization, pull-request, pull-request-tracker
- Language: TypeScript
- Homepage: https://github-pr-tracker.now.sh/
- Size: 24.3 MB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Github Open PRs
> Simple Page to track open PR's for specifics projects.

## Before start
This project uses [Github GraphQL API](https://developer.github.com/v4/). Differently from their [REST API](https://developer.github.com/v3/), it **requires** you being Authenticated.
### Generating a Token
In their documentation, they said you need the same kind of token as required for CLI's ([check it here](https://developer.github.com/v4/guides/forming-calls/#authenticating-with-graphql)).
However, I would say, you get the follow permissions:
```
[x] repo (you need all in order to handle private proj.)
[x] repo:status
[x] repo:status
[x] repo_deployment
[x] public_repo
[x] repo:invite
...
[x] admin:org
[ ] write:org
[x] read:org
...
```
Why? Just because this app does not need any right to **write** things, only read organization repositories.
## How to use
### Track your Repos
Basically you need to fill:
- Organization name;
- Repositories name split by comma;
- Github Token API
Then press search and everything will load :)

All your settings will be saved via Cookies since the Token (and maybe your repository names) are a sensitive information.
### Filter by label
To only see specific label, you just need to click in the ones you don't have to see.

In order to keep the selection even if you close the App, this filter is saved via `localStorage`:
```text
key: `pr_tracker_label_by_repo`
value: { : [] }
```
### Cleaning up
If you want to remove all your data, it's only about:
1. open the app
1. Open your console
1. Application
1. Clear Site Data (must be localStorage and Cookies)
## Development
The same as any modern JS app:
1. Fork/clone this project;
1. navigate inside the folder;
1. run `pnpm` to install dependencies;
1. then boot the server by running `pnpm run dev`
Then your app will be available at `http://localhost:3000`
## Stack
- NextJS
- TypeScript
- ApolloClient
- Styled Components
## Issues
Maybe this is just the beginning. Feel free to report issues, come up with suggestions or improvements. PR's are always open! :)
## License
[MIT](./LICENSE.md)