The goal of Contributary is to help those looking to get started with contributing to OSS projects by providing a convenient and easy way to search for great projects on GitHub that could use their help!
To use the application, follow the prompts:
- Pick a language
- Based on language selection, select a project
- Based on project selection, pick a repository
- Browse issues
- ???
- Profit
This is the main UI to the entire project. It maps a custom topology created to help the UI stitch together repositories and issues for given GitHub projects.
Essentially, the topology is heirachical based on
- Language: it all starts with a programming language
- Projects: array of projects (orgs, users) which is right now a static list
- Repostiories: array or repos, this can be a wildcard (
*
), which will be fetched from GitHub, or as a static list - Issues: array of issues from a repo, and not part of the topology here as issues will always be fetched from GitHub
Here a small example:
{
"language": {
"javascript": {
"label": "JavaScript",
"projects": [{
"name": "ProjectEvergreen",
"type": "org",
"repositories": ["*"]
}, {
"name": "thescientist13",
"type": "user",
"repositories": [{
"name": "github-dashboard"
}]
}]
},
"php": {
"label": "PHP",
"projects": [{
"name": "composer",
"type": "org",
"repositories": ["*"]
}]
},
"etc": {
"//": "/* ... */"
}
}
}
For more information, visit the wiki.
This project is an evergreen web application using Greenwood and modern JavaScript and CSS features, powered by LitElement
and Web Components.
To start developing, you will need:
- NodeJS LTS >= 14.x
- Yarn >= 1.x
- Clone this repo
- Run
yarn install
All workflows are available as npm scripts
in the project's package.json.
yarn develop
- starts a local development serveryarn build
- generate a production buildyarn serve
- generates a production build locally and serves ityarn test
- run tests (usetest:tdd
to enable file watching and test re-running)