This project is no longer actively developed or maintained.
Github Issue Tracker is a web application hosted on Google Cloud Platform that provides consolidated email digests of issues on GitHub repositories. Users can subscribe to email notifications per repository. BigQuery has a dataset that contains GitHub events over time (githubarchive.org) which is updated hourly. This is used to provide consolidated email digests of GitHub Issues.
The frequency of email digests is configured by the User and stored in Cloud SQL. Based on a user's preferences, a consolidated daily/weekly/monthly email is sent out to the user that summarizes the latest activity on GitHub repositories. The tool is built using Go, running on app engine as different services.
The entire tool consists of 3 services on app engine: The frontend service that is responsible for the UI and dealing with operations such as authentication of users; The backend service handles operations such as monitoring the BigQuery dataset, updating Cloud SQL tables. The mailer service handles the daily, weekly and monthly cron jobs that trigger email notifications to be sent. It is also responsible for composing the content for email notifications and sending them out using the app engine Mail API.
The tool demonstrates integration of various App Engine features along with other Google Services such as BigQuery, Firebase, and Cloud SQL, and building an app using a Microservices Architecture.
This is not an official Google product.
See README_dep.md for notes regarding dependencies and configuration
Create a BigQuery Table for testing purposes using the following query:
SELECT * FROM [githubarchive.month.201707] WHERE type IN ('IssuesEvent','IssueCommentEvent)
You can then run the app locally:
cd PROJECT_DIR
cd services
dev_appserver.py -A [ProjectID] mailer/app.yaml backend/app.yaml frontend/app.yaml dispatch.yaml --show_mail_body=yes
Visit localhost:8080 to view the application
gcloud app deploy mailer/app.yaml backend/app.yaml frontend/app.yaml mailer/queue.yaml mailer/cron.yaml dispatch.yaml
- Google BigQuery
- Google App Engine (Standard Environment)
- Firebase Authentication using Github
- Google Cloud SQL