contributary
Overview
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!
Usage
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
Architecture
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.
Development
This project is an evergreen web application, bootstrapped from Create Evergeen App using modern JavaScript and CSS features, powered by LitElement
and Web Components.
Setup
To start developing, you will need:
- NodeJS LTS >= 8.x
- Yarn >= 1.x
- Clone this repo
- Run
yarn install
Tasks
Tasks are defined per Create Evergreen App.