Design Feedback:
A Dashboard to have a quick overview of Open Sources projects in your Github account
Powered by Grommet.
// check Pipedream!
This project can be used in two ways:
Desktop | Tablet | Mobile |
---|---|---|
oss-projects.json
.{
"projects": [
"MyUser/project-a",
"MyUser/project-b",
"AnotherCompany/another-project"
]
}
The main difference with the live app is that login is not needed anymore in order to see the projects and there is no logout option. However the deployed application will show the projects of only one user, because there is no logout option π
You can check my Open Source Dashboard β¨
Benefits of following this approach:
.env
file in the root of the project with the following informationNODE_PATH=./src
REACT_APP_GITHUB_ACCESS_TOKEN=<<REPLACE_WITH_YOUR_TOKEN>>
yarn
and then yarn start
to start the server.NIT: This project is using react-scripts
v2, which can build your project and export a static website, so you can easily deploy it anywhere! I recommend building it with Netlify because it provides a nice set of tools and it has a great integration with Github.
Oh great, you decided to host your own Open Source Dashboard πͺ One of the great advantages is that you can set up periodically builds with any CI (Travis, CircleCI, etc.) which will check can if the amount of Pull Requests or Issues is greater than your expected. Ideal for maintainers with several projects. At the moment, this feature only check the total amount of both values.
In this case Iβm using Travis CI to run the automatic tests.
Steps:
threshold
into your oss-projects.json
with the properties of pullRequests
and issues
.{
"projects": [
"MyUser/project-a",
"MyUser/project-b",
"AnotherCompany/another-project"
],
"threshold": {
"pullRequests": 10,
"issues": 5
}
}
NODE_PATH
and REACT_APP_GITHUB_ACCESS_TOKEN
The CI is going to run two scripts:
yarn build
: which is checks that the static website can be generate it successfully.yarn test:ci
: check if the amount of PRs and issues are greater than the threshold define inside the configuration.In case any of these scripts failed, then itβs going to notify the owner of the Travis account via email and remind you to keep your open source projects up to date π
Inside the Webpack configuration you can find the plugin of enhanced-resolve
that allows to reference an alias with one or more possible directories. This gives to the product a similar to shadowing
in Gatsby.
Example
// webpack.config.js
config.resolve.plugins = [
new AliasPlugin(
'described-resolve',
[
{
name: 'components',
alias: ['src/components', 'node_modules/my-dep/src/components'],
},
],
'resolve',
),
];
// src/example.js
import MyCoolComponent from 'components/myCoolComponent`;
export default () => <MyCoolComponent />
The plugin will first look into the first alias provided, my local src
folder, if the file is present then it will require that one. Otherwise it will go to the next alias, until the chain ends.
This feature is quite handy when you are working with templates like argon-dashboard-react
.
Iβm always open for Pull Requests and Issues, so donβt be afraid of collaborating!
Author: EmaSuriano
Demo: https://oss-dashboard.netlify.app/
Source Code: https://github.com/EmaSuriano/oss-project-dashboard
#reactjs #javascript #react