DEV Community

Discussion on: What are some ideas you'd like to implement, as personal, professional, or other types of projects?

Collapse
 
johnlukeg profile image
John Luke Garofalo

I'm working on a side project right now to benefit my engineering team process. We have a five man team and a mandatory code-review-before-merge rule. The only downside of this process is that we have multiple repos (some more popular than others) and we are so heads-down that we have a hard time managing all of our pull requests that need reviewing. So we came up with this idea for a PR queue where the PR's waiting for review the longest, get reviewed first. I built out a dashboard for this. It hooks into Github via web hooks and records our data into it's own data models. We can then use labels (i.e. needs reviewing) and other normal pull request events (i.e. merged) to control a state machine for each PR. I'm hoping to expand on it to fill in some of the other gaps in our process.

Collapse
 
ben profile image
Ben Halpern

This seems super useful. I'm kind of shocked this doesn't already exist built into GitHub.

Collapse
 
johnlukeg profile image
John Luke Garofalo

I'm kind of shocked this doesn't already exist built into GitHub.
This was our exact response. I suppose it is somewhat of a small-team specific problem. My Engineering VP ended up figuring out a query to type into the GitHub search bar to aggregate all of the PR's across the organization's repos, but there was no to tell at a glance who had been waiting the longest for a review.

It's also hooked up to web sockets for real time updates which is nice. I want to build it out more as gaps in our process arises.

After I began working on it, I found this article by Freek Van der Herten of Spatie, on an Engineering Team Dashboard which I've used to draw (read: steal) ideas from.

Thread Thread
 
mabdulsamadconfiz profile image
m-abdulsamad-confiz

How far have you reached on this project?
I would like to get involved :)

Thread Thread
 
johnlukeg profile image
John Luke Garofalo

Hey Abdul! It's actually still pretty young. Currently, it's just an internal project for my team, so there's no sort of scoping in terms of teams or users. I wasn't quite sure if the problem this is trying to solve is a common one amongst other teams, so I haven't put a ton of time into it. Once I'm able to add some scoping, you're more than welcome to get involved! Thanks for your interest, keep in touch.