codeforamerica / cfapi

The Code for America API. Tracks and motivates activity and participation across the civic technology movement.
http://codeforamerica.org/api
MIT License
113 stars 52 forks source link

Create an easy way to add projects #59

Open ondrae opened 10 years ago

ondrae commented 10 years ago

Description

Currently, a Brigade has to choose between the API reading from one GitHub organization url like https://github.com/sfbrigade or from a hand curated list of GitHub rep urls like https://docs.google.com/spreadsheet/pub?key=0AlcMlEZm_nJ0dEt4d29jYjdfcWNPYVo5T1BOWk5lTGc&output=csv

We should make it easier to do both.

First version

A Captain could point us to one list containing both organization urls and project repo urls.

Second version

An easy to use form that can take in both organization urls or project repos and select a Brigade for them to be listed with. We could use a Google Form, with custom styling like we did for http://codeforamerica.github.io/story-bucket/

migurski commented 10 years ago

Can a captain give us two URLs and this becomes part of #60?

derekeder commented 10 years ago

@evz and I were looking in to switching the Open Gov Hack Night projects page over to this cfapi from civic-json-worker, but this issue is preventing us from doing so.

The approach outline here and @migurski's suggestion this would not work for us in Chicago. Our list contains projects from many individuals and organizations. Adding all projects under a list of users wouldn't work, as many people work on projects that are not civic and shouldn't be included. This is why we went for the approach of people submitting individual GitHub URLs and just tracking those. Seems to have worked out pretty well so far with 130+ projects listed.

screen shot 2014-06-29 at 9 07 33 am

Chicago is different than many other civic tech communities, in that there is a diverse group of organizations and people. I would argue, however, that it is the sign of a mature and vibrant community and should thus be planned for in the future for other cities.

Also, one implementation issue that we have recently run in to with our tracking approach is handling deleted or renamed repos. GitHub is smart in handling redirects properly for repo renaming, but I'm not sure if this is exposed anywhere in the API.

Anyways, great work on this so far - glad to see @ondrae, @migurski, @pui, co running with this!

ondrae commented 9 years ago

I'm still thinking about this need, but its behind some other work that will come first.

I'm picturing it looking just like the way you have it on your page, but also with a drop down list of Brigades. The projects need to be attached to a group. Sound good?

On the back end, it would just fill up a google spreadsheet, which run_update.py will check once an hour.

derekeder commented 9 years ago

@ondrae I don't think that would work for us. There's quite a few projects in Chicago that are owned by individuals that would not get tracked using your approach.

the list goes on ...