All Projects → karanjthakkar → showmyprs.com

karanjthakkar / showmyprs.com

Licence: MIT license
See all your Open Source contributions in one place

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to showmyprs.com

Programmers Community
This repository contains various solution of a problem in Ruby, C, C++, Python and Java.
Stars: ✭ 189 (+530%)
Mutual labels:  pull-requests
extracurricular
An initiative to increase the visibility of open source opportunities within the Elixir community.
Stars: ✭ 50 (+66.67%)
Mutual labels:  contributions
Isometric Contributions
Browser extension for rendering an isometric pixel art version of your GitHub contribution graph.
Stars: ✭ 3,095 (+10216.67%)
Mutual labels:  contributions
Hacktoberfest
Make your first PR! ~ A beginner-friendly repository made specifically for open source beginners. Add your profile, a blog or any program under any language (it can be anything from a hello-world program to a complex data structure algorithm) or update the existing one. Just make sure to add the file under the correct directory. Happy hacking!
Stars: ✭ 191 (+536.67%)
Mutual labels:  pull-requests
Bundlewatch
Keep watch of your bundle size
Stars: ✭ 241 (+703.33%)
Mutual labels:  pull-requests
commit-bot
Automatically generates GitHub activity
Stars: ✭ 65 (+116.67%)
Mutual labels:  contributions
Prm
Pull Request Manager for Maintainers
Stars: ✭ 173 (+476.67%)
Mutual labels:  pull-requests
Open-Source-Enthusiast
Showcase Your Programming Skills here without hesitation
Stars: ✭ 102 (+240%)
Mutual labels:  pull-requests
contribution-checker
Check whether GitHub commits qualify as contributions.
Stars: ✭ 34 (+13.33%)
Mutual labels:  contributions
GITGET
GitHub의 Contributions를 iOS의 Widget으로 보여주는 App
Stars: ✭ 101 (+236.67%)
Mutual labels:  contributions
Code Review Checklist
This code review checklist helps you be a more effective and efficient code reviewer.
Stars: ✭ 214 (+613.33%)
Mutual labels:  pull-requests
Tabanimated
A skeleton screen framework based on native for iOS. (一个由iOS原生组件映射出骨架屏的框架,包含快速植入,低耦合,兼容复杂视图等特点,提供国内主流骨架屏动画的加载方案,同时支持上拉加载更多、自定制动画。)
Stars: ✭ 2,909 (+9596.67%)
Mutual labels:  pull-requests
Awesome Python Scripts
🚀 Curated collection of Awesome Python Scripts which will make you go wow. Dive into this world of 360+ scripts. Feel free to contribute. Show your support by ✨this repository.
Stars: ✭ 198 (+560%)
Mutual labels:  contributions
Mergify Engine
Engine for Mergify
Stars: ✭ 189 (+530%)
Mutual labels:  pull-requests
Github Contributions Chart
Generate an image of all your Github contributions
Stars: ✭ 3,740 (+12366.67%)
Mutual labels:  contributions
Pull Review
✅ Assign pull request reviewers intelligently.
Stars: ✭ 179 (+496.67%)
Mutual labels:  pull-requests
Plasma-Donor-App
An open-source app that helps in connecting patients and plasma donors. This is a beginner-friendly repository that helps you learn the basics of android development, git, and GitHub. Happy Hacktober!
Stars: ✭ 58 (+93.33%)
Mutual labels:  contributions
git-open-pull
convert a github issue into a pull request
Stars: ✭ 51 (+70%)
Mutual labels:  pull-requests
Hacknical
中文版说明
Stars: ✭ 1,452 (+4740%)
Mutual labels:  contributions
DrupalPod
Start Drupal contributions with 1 click.
Stars: ✭ 96 (+220%)
Mutual labels:  contributions

Show My PR's

Motivation 😰

I wanted to create an Open Source section on my website to showcase some of the contributions that I have done over the years. Finding the PR's, sorting them, grouping them was a big pain. I couldnt't find any service that did this already.

Features 💅🏻💥

  1. Show the actual status of each pull request: open / closed / merged
  2. All your Pull Requests grouped by repositories: /user/<username>
  3. Add ?response_type=json to consume the json response directly
  4. Add ?response_type=iframe to embed the response in an iframe

Implementation notes 🙇🏻

  1. Fetch all the pull requests from the github search/issues endpoint

https://api.github.com/search/issues?q=type:pr+author:gaearon+is:public

  1. For each pull request, fetch the repository data (stars/forks)

https://api.github.com/repos/:owner/:repo

Note: The repository data is cached in-memory and is reused between subsequent calls.

  1. The search endpoint returns status as closed even for pull requests that have been merged. So, for each closed pull request, the merge status is fetched using the below endpoint.

https://api.github.com/repos/:owner/:repo/pulls/:number/merge

  1. These pull requests are then grouped based on the repository and then sent to the client.

NOTE: The final response is cached on the server per user in a file ./.cache/<username>. For now, this will be manually purged by me every 24 hours automatically refreshed every 30 minutes using a cron job running via this bash script. Eventually, it should go into some cache like Redis which has its own TTL implementation.

Coming Next 🔥 (Want to help? 👇🏻)

  • Sorting based on the stars/forks that a repository has (Issue #4)
  • Sorting based on the number of PR's for a repository (Issue #4)
  • Filters based on PR state: Open/Merged/Closed (Issue #3)

Known Issues 💩

  • Maximum limit of 1000 on the total pull requests sent (Issue #10)

Contributing 👯

  • Make sure you have installed Go and setup your workspace
  • Get the latest code: go get github.com/karanjthakkar/showmyprs.com
  • Start the server: go build && ./showmyprs.com (This requires the GITHUB_TOKEN environment variable. Heres how you can get yours)

If you need help figuring out how to contribute (since its written in Go), hit me up on Twitter or Email. I would love to help you get set up ☺️

Deploying 🚀

  • Pre-requisite: npm install
  • grunt build deploy: This builds the binary for my Ubuntu linux instance on Amazon EC2 and uploads it along with the web assets via scp.

License

MIT © Karan Thakkar

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].