A simple way to crowdsource feedback on your GitHub commits.
Go To Site
·
Get MEEP Scanner
·
Report Bug
·
Request Feature
- ✨ About the Project
- 🚀 Getting Started
- 🌊 Workflow
- 🚥 Roadmap
- 🤝 Contributing
- ☎️ Contact
- 📚 Resources
This is a weekend project built by Jeremy and Hannah Ong as a submission to the Dev.to's GitHub Actions Hackathon. We thought that in the spirit of Dev.to and GitHub's community, that a community-led resource to help people like myself get feedback on GitHub commits would be a great submission. It went on to win the grand prize in the "Maintainer Must-Haves" category.
This README
in particular will be the main documentation that explains how all the repos within More Eyes, Plz are connected.
To best explain how all the repos within More Eyes, Plz are connected, I will provide a walkthrough of what happens after someone gets started.
- The meep_scanner will run on every push. It will "scan" each commit for
[MEEP]
. If the commit contains[MEEP]
, and the repo is public, then the meep_scanner will send metadata to a Google Cloud Function. - The meeper will now recieve the metadata from the meep_scanner via the Google Cloud Function. This repo is where the bot credentials are hidden as enviornment variables. It will then create the issue on the meeps repository as an issue, which will feed the More Eyes, Plz! website In addition, it also creates the initial commit comment:
- The themeepbot is the webhook responder. It listens to the commit comments for a command. Currently the only command running is
close
written as[MEEP close]
. When this is sent by the author, then themeepbot will close the issue and it will be removed from the website.
Although the meep_scanner is the public-facing GitHub Action that is in the marketplace, meeper, and themeepbot are also GitHub Actions.
The above walkthrough mainly outlines the backend, but I think it makes sense to talk about the frontend user flow separately.
- When a user first encounters the More Eyes, Plz! website, they will be taken to a landing/login page. That is because we currently do not have a GitHub access token for the user/session. After they authenticate via GitHub OAuth / Octokit, we store it in local storage until the user logs out.
- Once the user logs in, the site will fetch the issues from the meeps repository and the list of all tags and display them on the site. The cards re-fetch when the filter search string changes.
The frontend (website) is built with React, TypeScript, Material-UI, and unDraw. The backend (GitHub Actions) is built with Node, Octokit, and Google Cloud Functions.
For each repository you wish to potentially request feedback on, please performing the following steps:
Topics added help others discover your requests more easily through filters. To do this, hit the settings wheel at the top right of your repository's home page. Then, add topics that pertain to your code. This could be the programming language, a framework or library you're using, or any other general tag.
In your repository, make the file .github/workflows/meep.yml
with the following contents:
name: meep_scanner
on: [push]
jobs:
meep_scan:
runs-on: ubuntu-latest
steps:
- uses: moreeyesplz/meep_scanner@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
This will cause the scanner to run each time you push to the repository.
When you write a commit you'd like another set of eyes on, include the text [MEEP]
or [meep]
somewhere in your commit message. For best results, it's recommended that you:
- DO include some context about what you'd like insight on
- DON'T request feedback on overly trivial changes
Your commit will be listed along with the repository tags on the More Eyes, Plz! website. Feedback will be provided in the form of comments on your commit within Github. You'll receive notifications when people make comments or ask for clarification.
Don't forget to thank your reviewers with a kind note or a healthy number of emojis.
These are internal notes for myself to remember the frontend workflow for this project:
npm run start
to start the react server for testinggit add
,git commit
,git fetch
,git rebase
,git push
to send the data to the repo.- Go to the repo click on Actions, navigate to Workflows > deploy.
- Click the Run workflow dropdown and click Run workflow to deploy the site to production.
See the table below for a list of proposed features (and known issues) by repositories.
Repository | Description | Link |
---|---|---|
moreeyesplz.github.io | Public-facing website aggregating and displaying meeps | issues/features |
meep_scanner | GH Action that scans your public repo commits for "[MEEP]" | issues/features |
meeper | Internal action which acceps meeps from meep_scanner | issues/features |
themeepbot | Webhook responder for themeepbot | issues/features |
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
📣 @duchess_toffee · @m_ninepoints
📫 hchai1991@gmail.com · jeremycong@gmail.com