Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 16 days 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 (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-10-28T03:53:09.000Z (about 1 year ago)
- Last Synced: 2024-05-14T00:44:00.394Z (6 months 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.
![App Home](./media/home.png)
## 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 APIThen press search and everything will load :)
![Basic Example](./media/pr-tracker-usage.gif)
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.
![Filter Example](./media/pr-tracker-filter.gif)
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)