Giter VIP home page Giter VIP logo

community's Introduction

community

Header

About

  • This repository is a static django website;
  • It uses the GCI private API
  • Attention: This repository only re-publishes publicly available information
  • Uses IGitt, supporting both GitHub & GitLab

Deploy Netlify on your fork :

Following are the steps to deploy netlify on your forked community repository :

  • Signup on netlify.
  • Click on New site from Git.
  • Choose Git provider (Github) > Choose a repository < username >/community.
  • Branch to deploy master.
  • Basic build settings :
    • Set Build command to .ci/build.sh.
    • Set Publish directory to public.
    • Click on Show advanced > New variable to add the environment variables.

After that to set the environment variables :

  • Put GH_TOKEN in Key column and your generated GitHub Access Token in Value column.
  • Similarly add other variables like OH_TOKEN, GL_TOKEN if needed.
  • Click on Deploy Site to deploy the site.

community's People

Contributors

abhishalya avatar akshjain99 avatar andrewda avatar ayan-b avatar bhawesh96 avatar biscuitsnake avatar cypher-naman avatar danes44 avatar dob9601 avatar ishucr7 avatar jayvdb avatar kvgarg avatar kx-chen avatar li-boxuan avatar manankalra avatar prince-sharma avatar priya997 avatar raivaibhav avatar rohanrk avatar sanchit48 avatar seeeturtle avatar sks444 avatar vaibowski avatar virresh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

community's Issues

.coafile section generalization includes many inappropriate files

[DEBUG][19:45:47] Files that will be checked:
[DEBUG][19:45:47] coala is run only on changed files, bears' log messages from previous runs may not appear. You may use the `--flush-cache` flag to see them.
Executing section generalization...
[WARNING][19:45:48] Failed to read file '/home/travis/build/coala/community/.ci/deploy_key.enc'. It seems to contain non-unicode characters. Leaving it out.
[WARNING][19:45:48] Failed to read file '/home/travis/build/coala/community/activity/__pycache__/scraper.cpython-36.pyc'. It seems to contain non-unicode characters. Leaving it out.

They need to be excluded. Probably others also; see .gitignore.

Add "last generated" timestamp

As the contents of the page include a static snapshot of org activity , it is important to know when it was last generated in UTC, and show how long ago it was generated , aware that the readers timezone is likely not UTC.

Import 2016 gsoc org data

After #59 , we need to import gsoc data from 2016.

This is more complicated, as coala was a sub-org of PSF. Doing this generically could be quite difficult.

We could search for projects prefixed with [org name]: .
There are other orgs which used similar naming conventions, like Astropy: ... within OpenAstronomy

Create a Netlify form for joining the community

Netlify forms can be used to let people 'become a developer' from their web browser. It allows signing using GitHub, for authenticated collection of their username to be added to the org. We could also add a field for the issue they want to be assigned to.

It is then easy for maintainers to invite them to the org after some rudimentary checks, or add a http://webtask.io which automatically invites them if they pass some basic automated checks to prevent abuse.

Probably a good app name is '/join'

Add pages showing the org teams

I think want at least the coala maintainers, coala developers and coala newcomer teams to have a page, with a list of team members similar to https://coala.io/#/getinvolved .

I think it is OK to have a page about all teams in https://github.com/orgs/coala/teams .

However we also need a way to name our temporary teams so that they do not appear on the website.

e.g. @adtac created a team to help him manage inactive newcomers at coala/meta#74 , so they could be removed. Maybe we dont want a team like that appearing on the website ;-)

Add 'Fork Me On GitHub' ribbons

Since the Coala Community site is Open Source, I think it'd be a good idea to encourage contributions to it by adding a 'Fork Me On GitHub' ribbon to each page!

The ribbon, which could look something close to these would take the viewer to https://github.com/coala/community/fork where they'll be prompted to fork the repository and make changes :) I think it's important to have this as the site is about the community around Coala and GCI, both of which are founded around Open Source contributions 😄

Examples of ribbons/links like this are often found on stuff like the Docsify Site and the Jekyll Documentation.

Add org logo and a favicon

As this repository should be usable for any org, detect the name of the GitHub org from the Travis environment variables, and fetch the org's logo.

And then convert the logo into a favicon.

Import GitHub and GitLab mrs data

When webservices will be up it will provide all the mrs of coala on GitHub and GitLab through an API,
that should be imported here to build the gamification app.

Add Travis build URL to website

As the website has to cater with unexpected data , the website build scripts will be permissive, logging errors rather than failing.
Currently the Travis build logs are the best spot for logging.

Organisation Twitter feed

The twitter feed for the organisation should be fetched and displayed on the Google Code-In community website within a Twitter timeline (obtainable from https://publish.twitter.com/). The Twitter handle for the organisation should be fetched via the Google Code-In api (see https://codein.withgoogle.com/api/program/2017/organization/) and used in conjunction with the embedded timeline obtained from Twitter in order to show tweets from the correct Twitter account. If the Twitter handle for the organisation is defined as NULL within the Google Code-In api response, the website should fail gracefully and not display the Twitter timeline.

Add status to issues tasks in tasks.yaml

When a task has max_instances: 1 and an issues URL , it can be annotated with an extra attribute to indicate the task status: available, claimed or completed.

Instance are exported as instances.yaml , and indicate whether the task is in progress or completed.

Completed issues are the easiest to work with.

In progress tasks are slightly more complicated because the publish instances are filtered to remove tasks still in early phases of the task lifecycle. See https://github.com/coala/community/blob/master/gci/students.py#L84

Add GSOC data model

GCI has an API.

There is also a 'program' API for GSOC information at https://summerofcode.withgoogle.com/api/program/ ; the same data is available at https://summerofcode.withgoogle.com/api/program/2017/

That only provides information about the completed 2017 program, which is worth including, as preparation for the 2018 program.

For the 2018 program, there is an ical which can also be imported into the gsoc data model so we have at least basic information about the next GSOC program able to be used in our community website.

Proper documention

A proper documentation with installation guide could help a lot to setup locally and contribute.

Create a .coafile

The .coafile should check the file types already in this repository,

and it should reject the word 'coala' appearing in any file.

Create a README.md

The readme needs to say:

  • This repository is a static django website
  • It uses the GCI private API
  • But it only re-publishes publicly available information
  • It uses IGitt to support both GitHub & GitLab

Fetch attachments from approved GCI task instances

For GCI task which did not have a PR assessment item, the most recent attachment on approved GCI task instances are likely to be the outputs of the task, and should be fetched into the private folder.

The fetcher should not push these private artifacts to the public folder to be published. This needs to be manually done to ensure those artifacts had correct licensing and were indeed the correct output of the task.

A naming convention needs to be established so that those attachments moved to the public folder by an org admin will be linked to the task, and probably presented as a gallery.

A coala-specific implementation detail, maybe best dealt with as a separate enhancement, is some of the coala tasks required uploading the artifacts to Behance or DeviantArt, and those links need to be extracted from the task instance instead of attachments.

Add participants geolocation to data model

Description
A way to get participants’ geolocation is important for any org to show its global influence, this can be used for map display and statistics.

Purpose
To show how people from different regions can together join open source projects and make the project great together so more people might be encouraged. Moreover, it can strengthen the local bond in open source project development. It can also serve for statistical purposes.

Implementation
To acquire all geolocation of participants, we can use the following procedure:

Names(from google) -> Github account -> Location(curl -i https://api.github.com/users/grox-ni/location) -> Recognization(with some external API to recognize geolocation from string).->Display(e.g. D3.js)

Anyone who wants to can disclose their approx geolocation on GitHub as a string, and it can be converted to geo coords.

Progress of solving & creating issues

Website may include a bar chart widget, which will show the dynamics of solving & creating issues. It will highlight how active the community has been during periods of time.
The X-axis of the chart will be timeline (e.g. last 5 month), and Y-axis - amount of issues solved and created. To be visually intuitive, created & solved issues should be marked with different colors. Also, dates with positive tendency (rise in activity) may be marked green, dates with negative tendency - red.
Tools:
Bar chart creation: http://www.chartjs.org or https://d3js.org
Fetching data: IGitt has issue searching func. For each repo of the org, we can search issues by last update date and status (it must be closed).

Remove 'coala' from COMMIT_AUTHOR_EMAIL

.travis.yml currently sets COMMIT_AUTHOR_EMAIL: "[email protected]" , but that violates this repositories rule that 'coala' shouldnt be mentioned anywhere.

One approach is to use a generic email address.
Another is to use the git remote info to find the GitHub org (#26), and then derive an email address from the GitHub org.

Get the GitHub Org from the git remote info

Split off from #1

Using travis environment variables will work in Travis, but not locally, or on other build. bad idea.

We should use git remote -v to fetch the remote name (there should be some IGitt functionality for this?), and then use https://github.com/retr0h/git-url-parse to extract the org name.

This functionality belongs in the main application, not in the gci app.

Use logging

Instead of print statements to the travis log, problems should be logged properly and a view generated with the logs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.