Skip to content
This repository has been archived by the owner on May 20, 2023. It is now read-only.

codinasion-archive/good-1st-issue

Repository files navigation

Good1stIssue
Good 1st Issue

Github App + Website + Twitter Bot

Github App good1stissue.codinasion.org Follow on Twitter

AboutAppWebBotContributing

About

Good 1st Issue helps you find good first issues to contribute to open source projects.

It consists of a Github App, a website and a Twitter Bot.

The Github App can be installed on repositories that want to be featured on the website and Twitter Bot.

Every time a new issue is labeled with good first issue the Github App will post the issue on the website and Twitter Bot.

You can install the Github App on your repository by clicking here.

Note The Github App will ask for Read access to your repository. This is needed to read the issues (and labels) of your repository.

The Issues will be automatically deleted from the website and Twitter Bot when the issue is closed / deleted / unlabeled / assigned to ensure that the website and Twitter Bot only show issues that are still open for contribution.

The Source Code of the Github App is available in app/index.ts

The website contains a list of all the issues that are currently labeled with good first issue on the repositories that have the Github App installed.

The Source Code of the website is available in pages/index.js

The Twitter Bot posts a new issue every 5 minutes (if there is any).

It may take few minutes/hours for the issue to appear on the Twitter Bot (but it will appear on the website in just few seconds/minutes), depending on the number of issues that are in queue to be posted.

The Source Code of the Twitter Bot is 👇 here

# install tweepy
# pip install tweepy

# import the necessary packages
import tweepy

# create twitter client
client = tweepy.Client(
    consumer_key="TWITTER_CONSUMER_KEY",
    consumer_secret="TWITTER_CONSUMER_SECRET",
    access_token="TWITTER_ACCESS_TOKEN",
    access_token_secret="TWITTER_ACCESS_TOKEN_SECRET",
)

# create a tweet
message = client.create_tweet(text="Hello World !!!")

Contributing

If you want to contribute to this project, please read the CONTRIBUTING.md file.

Basic Workflow

You can find the basic workflow of the project in the WORKFLOW.md file.