A tool designed to view GitHub project issues in a calendar view.
π Jump to the Set up the project section to get a calendar view for your own GitHub Projects in just minutes.
PlanetScale has recently moved away from several siloed productivity tools to using GitHub projects exclusively. One of the pain points in this transition was viewing tasks on a proper calendar. This project aims to bridge that gap by utilizing the GitHub GraphQL API and react-big-calendar to display project issues in a visual way.
The project was initially built by the Developer Education team at PlanetScale to view upcoming blog posts and events planned by the Marketing team.
The tool displays issues from one or more GitHub projects in a calendar format. Clicking on any item on the calendar opens the linked issue in GitHub.

Each configured project calendar can be toggled on or off, depending on which calendars are important for you. To access to Displayed Calendars modal, click the eye icon in the upper right.

The modal can then be used to toggle calendars as needed. When a calendar is toggled, the user preferences are saved to a PlanetScale database so they can be reflected on any device used.

Existing projects can be viewed by clicking the "cog icon" in the upper right corner of the app.

Upon clicking the icon, you'll be presented with a modal displaying the configured projects. Clicking the "trash icon" will allow you to delete a project (note that this operation is permanent). Clicking the "+ icon" below the modal allows you to add a new project to the calendar.

The following form is used to add a project to the calendar:

These entries are saved into a PlanetScale database for all users of your instance of the tool.
This project is designed to be run on Vercel, although can be modified to work with any hosting provider. In order to use the project as is, you'll need to:
Start by creating a GitHub OAuth app and populate the necessary fields. For local development, use http://localhost:3000/auth for the "Authorization callback URL".

In the following view, click "Generate a new client secret". Note Client ID and the generated Client Secret as you'll need them in the next step.

Next, open the project in your preferred IDE and rename .env.sample to .env. Populate the values as follows:
REACT_APP_GH_REDIRECT_URI β http://localhost:3000/authREACT_APP_GH_CLIENTID β The Client ID from the previous stepGH_CLIENTSECRET β The Client Secret from the previous stepTo configure the calendars displayed, open the Project which contains the issues you wish to display in GitHub. The URL is formatted as follows:
https://github.com/orgs/<ORG_NAME>/projects/<PROJECT_ID>
Note the values for <ORG_NAME> and <PROJECT_ID> for configuring the calendars. You'll also need to know the name of the fields for which you want to display start & end dates. To reference these, start in the project by clicking the "..." button in the upper right and then "Settings".

The names of the fields available for the project will be listed on the left sidebar. The fields to display on the calendar MUST have the Date field type.

The tool is set up to use a PlanetScale database to store the calendars to be displayed, as well as the users currently toggled calendars.
main, where you can create your schema./db/init_db.sql of this repo.CREATE TABLE commands using the web console in the PlanetScale database or by following our guide on executing scripts using the PlanetScale CLI..env file.Visit our documentation portal for guides on how to create a database and generating connection details to connect to the database.
You may now run the project using the following command from your terminal:
npm start
If everything is set up properly, navigating to http://localhost:3000 in your browser should prompt a login through GitHub.
To deploy the project to Vercel so that everyone on your team can see this calendar, you will need to generate a new GitHub OAuth app since a single app does not support multiple redirect URIs. You'll need a domain to set up the GitHub app before you can create it. Perform the following steps in order to successfully deploy the tool:
<VERCEL_URL>)<VERCEL_URL>/authOnce these details are populated, navigate to <VERCEL_URL> and you should be prompted to login via GitHub.
You may optionally choose to use a separate database branch for your local & deployed versions of the tool. To do this, create a separate branch and use those connection details in Vercel instead of the connection details taken from the local development section. See Step 8 of Set up the database for more information.
To contribute to this project, fork the repository to your own GitHub account, and open a Pull Request with the changes you wish to apply.
This project is provided as-is with no support. To report bugs and request features, or to discover known bugs, please use the Issues tab.
2 commits
1 commits
TypeScript
69.1%
JavaScript
25.0%
HTML
4.6%
CSS
1.3%
A tool designed to view GitHub project issues in a calendar view.
π Jump to the Set up the project section to get a calendar view for your own GitHub Projects in just minutes.
PlanetScale has recently moved away from several siloed productivity tools to using GitHub projects exclusively. One of the pain points in this transition was viewing tasks on a proper calendar. This project aims to bridge that gap by utilizing the GitHub GraphQL API and react-big-calendar to display project issues in a visual way.
The project was initially built by the Developer Education team at PlanetScale to view upcoming blog posts and events planned by the Marketing team.
The tool displays issues from one or more GitHub projects in a calendar format. Clicking on any item on the calendar opens the linked issue in GitHub.

Each configured project calendar can be toggled on or off, depending on which calendars are important for you. To access to Displayed Calendars modal, click the eye icon in the upper right.

The modal can then be used to toggle calendars as needed. When a calendar is toggled, the user preferences are saved to a PlanetScale database so they can be reflected on any device used.

Existing projects can be viewed by clicking the "cog icon" in the upper right corner of the app.

Upon clicking the icon, you'll be presented with a modal displaying the configured projects. Clicking the "trash icon" will allow you to delete a project (note that this operation is permanent). Clicking the "+ icon" below the modal allows you to add a new project to the calendar.

The following form is used to add a project to the calendar:

These entries are saved into a PlanetScale database for all users of your instance of the tool.
This project is designed to be run on Vercel, although can be modified to work with any hosting provider. In order to use the project as is, you'll need to:
Start by creating a GitHub OAuth app and populate the necessary fields. For local development, use http://localhost:3000/auth for the "Authorization callback URL".

In the following view, click "Generate a new client secret". Note Client ID and the generated Client Secret as you'll need them in the next step.

Next, open the project in your preferred IDE and rename .env.sample to .env. Populate the values as follows:
REACT_APP_GH_REDIRECT_URI β http://localhost:3000/authREACT_APP_GH_CLIENTID β The Client ID from the previous stepGH_CLIENTSECRET β The Client Secret from the previous stepTo configure the calendars displayed, open the Project which contains the issues you wish to display in GitHub. The URL is formatted as follows:
https://github.com/orgs/<ORG_NAME>/projects/<PROJECT_ID>
Note the values for <ORG_NAME> and <PROJECT_ID> for configuring the calendars. You'll also need to know the name of the fields for which you want to display start & end dates. To reference these, start in the project by clicking the "..." button in the upper right and then "Settings".

The names of the fields available for the project will be listed on the left sidebar. The fields to display on the calendar MUST have the Date field type.

The tool is set up to use a PlanetScale database to store the calendars to be displayed, as well as the users currently toggled calendars.
main, where you can create your schema./db/init_db.sql of this repo.CREATE TABLE commands using the web console in the PlanetScale database or by following our guide on executing scripts using the PlanetScale CLI..env file.Visit our documentation portal for guides on how to create a database and generating connection details to connect to the database.
You may now run the project using the following command from your terminal:
npm start
If everything is set up properly, navigating to http://localhost:3000 in your browser should prompt a login through GitHub.
To deploy the project to Vercel so that everyone on your team can see this calendar, you will need to generate a new GitHub OAuth app since a single app does not support multiple redirect URIs. You'll need a domain to set up the GitHub app before you can create it. Perform the following steps in order to successfully deploy the tool:
<VERCEL_URL>)<VERCEL_URL>/authOnce these details are populated, navigate to <VERCEL_URL> and you should be prompted to login via GitHub.
You may optionally choose to use a separate database branch for your local & deployed versions of the tool. To do this, create a separate branch and use those connection details in Vercel instead of the connection details taken from the local development section. See Step 8 of Set up the database for more information.
To contribute to this project, fork the repository to your own GitHub account, and open a Pull Request with the changes you wish to apply.
This project is provided as-is with no support. To report bugs and request features, or to discover known bugs, please use the Issues tab.
2 commits
1 commits
TypeScript
69.1%
JavaScript
25.0%
HTML
4.6%
CSS
1.3%