The Paketo Dashboard provides an overview of the project allowing the core development team to track open issues, pull requests, and releases.
The dashboard is deployed using the .github/workflows/deploy.yml
workflow. This workflow packages the dashboard
using buildpacks and then deploys the resulting image onto Google Cloud Run.
You can build and run the app by executing the following:
GITHUB_CLIENT_ID=<your-client-id> \
GITHUB_CLIENT_SECRET=<your-client-secret> \
REDIRECT_URI=http://localhost:8080/oauth/callback \
./scripts/run.sh
For details on getting a client for GitHub API access, check out this documentation.
The application is split into two main parts, a backend server that is responsible for handing the OAuth workflow and serving static assets, and the frontend that is a React app that interacts with the GitHub API to gather and display aggregate details about the project.
When you build the application, you will notice that the output is a single binary. This is because the static assets for the app are embedded into the Go binary at compilation time.
The frontend can be run decoupled from the backend server for a faster local development cycle. To do this, you will need to run the following:
cd web
REACT_APP_GITHUB_TOKEN=<your-github-token> yarn start
For details on creating a token for GitHub API access, check out this documentation.
You can run the tests for the backend with the following command:
go test ./server
For the frontend, run the following:
cd web
yarn test
The frontend codebase uses Flow for static type checking. To run the checker, execute the following:
cd web
yarn run flow