This project was used to figure out and to demonstrate, how to develop a frontend UI with Facebook's Relay and GraphQL libraries.
Purpose of this dashboard
This web app lists the (feature) branches of a specific github repository,
- shows the last commit's build status
- shows the last commit's commit message
- links to running running docker containers for each feature (not implemented yet)
On a Docker Meetup, I presented some details about the background idea: You can find the slides here
Getting started locally
A reduced functionality with a RESTful api backend works out of the box,
after invoking this in a shell:
git clone https://github.com/lowsky/dashboard cd dashboard npm install # or yarn
regular mode for deployment
npm run build # or yarn run build npm start # or yarn run start
docker build -t dashboard . ### docker run # injecting the github creds per .env file docker run --rm -v $PWD/.env:/usr/src/app/.env -p 3000:3000 dashboard
You need to create your own github-token and store it locally:
# create your .env file as a copy of .env.example by cp .env.example .env # ... and adapt it with your API key: # You can create one at # https://github.com/settings/tokens/
Run dev-mode: with HOT re-loading
Note: For Relay you also need to start in regular mode, to activate the graphql-server.
npm run dev # this opens the browser automatically
For local development this also uses webpack-dev based hot-reloading which automatically updates the page in the browser!
It also provides a GraphIql IDE at http://localhost:3000/graphql - This is the ideal playground
for using and playing with different graphql queries.
Licensed under the Apache License 2.0, Copyright ©️ 2018 Robert Hostlowsky. See LICENSE for more information.