Designed for DevOps teams, visualize daily information, fits perfectly on a large screen 🖥️
Demo: https://z-board.vercel.app/
🚀 Handly informations
- Monitor CICD Build Status (CircleCI & GitHub Actions supported)
- Monitor Ticket Status (Zendesk supported)
- Display Project Timeline (Kanbanize supported)
🚙 Functional
- All in one, no database needed
- Fast page render and responsive design
- An eye-catching swinging cat (Authorized by davidkpiano)
🎨 Customization
- Resizeable & draggable to create custom layout
- Built with chakra-ui, easy for customization
🔒 Security
- Site password
- All tokens secured in the backend
- No sensitive information in API transmission
- Star this repo 😉
- Fork this project
- Customize the config files and push the code, includes datasource and monitoring rules, please read the comments
inside:
site.config.js
build_status.config.js
ticket_status.config.js
project_timeline.config.js
owner_rotation.config.js
- Deploy on Vercel, set following environment variables (will display fake data if no token is configured):
SITE_PASSWORD
: If filled, the site requires a loginCIRCLE_CI_API_TOKEN
: CircleCI API Token to get build status, get it hereZENDESK_API_TOKEN
: Zendesk API Token to get ticket status, follow this guideZENDESK_USER_EMAIL
: The user email who generate the API tokenZENDESK_BASE_URL
:https://<Your Org>.zendesk.com
GITHUB_API_TOKEN
: GitHub API Token to get build status from GitHub ActionsKANBANIZE_BASE_URL
:https://<Your Org>.kanbanize.com
KANBANIZE_API_KEY
: Kanbanize API Key to build project timeline, follow this guideAPI_TABLE_API_KEY
: ApiTable API Key to load owner rotation data, follow this guide
- Visit your site🎉
- On the Mac mini, hold
command
and click WIFI icon to get the IP address - On your Mac (under same network), use
command
+p
to search & openSreen Sharing
app - Enter the IP of Mac mini, then login to control the Mac mini
- Follow the steps of
Local development
- Star & Clone this repo 😉
- Install node 18 via
nvm install 18
, thennvm use 18
- Customize the config files in local, includes datasource and monitoring rules, please read the comments inside:
site.config.js
build_status.config.js
ticket_status.config.js
project_timeline.config.js
owner_rotation.config.js
- Copy
.env.example
to be.env
, and set the values - Run with development mode
npm install npm run dev
- Or run with production mode
npm run build npm run start
- Visit https://localhost:2000/
zBoard provides a builder page that user can drag or resize widgets to build custom layout.
./src/widgets
├── BuildStatusWidget
│ ├── BuildStatusCard.tsx
│ ├── index.tsx
│ └── preview.png
├── OwnerRotationWidget
│ ├── OwnerRotationCard.tsx
│ ├── index.tsx
│ └── preview.png
├── ProjectTimelineWidget
│ ├── index.tsx
│ └── preview.png
├── ZendeskStatusWidget
│ ├── TicketList.tsx
│ ├── index.tsx
│ └── preview.png
├── NewWidget <- add your new widget here
│ ├── index.tsx <- export your widget with index.tsx
│ └── preview.png <- the widget thumnail
└── index.tsx <- define the widget's initial props
Please backup your config files before update, config structure may be modified in major version updates.
# backup config files
git stash
# update main version
git checkout main
git pull origin main
# apply your backup config files
git stash apply
- CircleCI Build Status
- Zendesk Ticket Status
- Kanbanize project timeline
- Site password
- Dark mode
- Examples page
- Check for new versions
- Owner shift indicator
- Resizeable & draggable
- Settings page
- Integrate more products...
- ...
The MIT License.