/www.contributary.community

Fronted UI repo for www.contributary.community

Primary LanguageJavaScript

contributary

GitHub release CircleCI branch GitHub issues GitHub issues GitHub license

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!

Contributary

Usage

To use the application, follow the prompts:

  1. Pick a language
  2. Based on language selection, select a project
  3. Based on project selection, pick a repository
  4. Browse issues
  5. ???
  6. 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:

  1. NodeJS LTS >= 8.x
  2. Yarn >= 1.x
  3. Clone this repo
  4. Run yarn install

Tasks

Tasks are defined per Create Evergreen App.