A developer dashboard built with Electron, React, and Express that integrates with JIRA and GitHub to provide a unified view of issues and pull requests.
- Node.js (v18+)
- Yarn
- A JIRA account with an API token
- A GitHub personal access token
Install dependencies:
yarn install
cd server && yarn install && cd ..JIRA and GitHub credentials can be configured from the in-app settings.
Create a fine-grained or classic personal access token at https://github.com/settings/tokens with the following scopes:
| Scope (Classic Token) | Why it's needed |
|---|---|
repo |
Read PR details, commits, check statuses, and review threads across public and private repos |
read:org |
List organization members and repositories |
notifications |
Read your GitHub notifications (mentions, review requests, etc.) |
If using a fine-grained token, grant these repository permissions:
| Permission | Access | Why it's needed |
|---|---|---|
| Pull requests | Read | Search and read PRs you authored or are asked to review |
| Checks | Read | Read CI/check-suite status on PRs |
| Contents | Read | Access repository metadata and release info |
| Metadata | Read | Required for all fine-grained tokens |
| Members | Read (org-level) | List organization members |
| Notifications | Read (account-level) | Read your notifications |
Create an API token at https://id.atlassian.com/manage-profile/security/api-tokens. The token inherits the permissions of the Atlassian account it belongs to. The app needs:
| Capability | Why it's needed |
|---|---|
| Browse projects | Search for issues assigned to you |
| Browse issues | Read issue details (summary, status, priority, etc.) |
| Read comments | Fetch comments on issues to find mentions of your name/email |
No write permissions are required — the app only reads data from both GitHub and Jira.
Run the frontend and backend concurrently:
yarn devOr run them separately:
yarn dev:app # Frontend only (Vite)
yarn dev:server # Backend only (Express with hot-reload)yarn build # Build frontend + backendPackage the app into a distributable Electron application. All packaging commands run the icon generation and full build automatically before packaging.
yarn pack # Build and create an unpacked app directory (in release/)
yarn dist # Build and package for the current platform
yarn dist:mac # Build and package as a macOS DMG (arm64)The packaged output is written to the release/ directory.