Giter Site home page Giter Site logo

brigade-information's Introduction

Brigade Information

This repository hosts data about Code for America brigades and other civic tech organizations for the Code for America API.

How to add or edit your Brigade for the API

The organization list is a JSON file named organizations.json. Add or edit your organization's information in that file and submit your changes as a pull request.

A single organization's record looks like this:

{
    "name": "Beta NYC",
    "website": "http://www.beta.nyc",
    "city": "New York, NY",
    "location": {
      "city": "New York",
      "state": "New York",
      "country": "USA",
      "continent": "North America",
      "coordinates": {
        "latitude": "40.7144",
        "longitude": "-74.0060"
      }
    },
    "events_url": "http://www.meetup.com/BetaNYC/",
    "rss": "http://betanyc.tumblr.com/",
    "projects_list_url": "http://projects.betanyc.us/projects",
    "projects_tag": "beta-nyc",
    "latitude": "40.7144",
    "longitude": "-74.0060",
    "tags": [
      "Brigade",
      "Official"
    ],
    "social_profiles": {
        "twitter": "@BetaNYC",
        "facebook": "https://www.facebook.com/BetaNYC/"
    }
}

Official Schema

  • name (Required) - The name of your organization. (Cannot contain - / ? characters.)
  • website (Required) - The web address of your organization. Leave empty if none.
  • city (DEPRECATED) - The city of the organization. This field is deprecated in favor of location.
  • location (Optional) - An object with keys about the geography of your organization.
    • city
    • state - the state or province of your organization
    • country
    • continent
    • coordinates - in decimal degrees
      • latitude
      • longitude
  • tags (Required) - An array of descriptors for your group. Some commonly used tags are:
    • Brigade
    • Official
    • Code for America - Code for America Brigade
    • Code for America Partner Brigade - A separate 501(c)3 nonprofit that is an official Code for America Brigade.
    • Code for America Fiscally Sponsored Brigade - A Brigade that uses a non-Code for America Fiscal Sponsor.
    • Code for All - Code for All network member ("Governing Partner")
    • Code for All Affiliate - Code for All network Affiliate Partner
    • Fellowship - organization is running a fellowship program
    • Government
  • events_url - The URL of your event-scheduling page.
  • rss - The URL of a blog or its RSS feed. The API will look in the usual places for a feed URL if the link isn't direct. Non-blog RSS feeds will also be processed.
  • previous_names - An array of former names of the organization. This can be useful in maintaining URL redirects or noticing which Brigades have changed names over time.
  • projects_list_url - The URL of a GitHub organization or of a list of project URLs, formatted as described below.
  • projects_tag - The GitHub topic tag the Brigade recommends their projects use to associate themselves with the Brigade
  • latitude / longitude - Where your Brigade meets. It can be as specific or general as you want, and can be figured out using a tool like LatLong.net. Required if you want to appear on the Brigade or Code for All maps.
  • type (DEPRECATED) is a list of tags, comma separated. Use tags instead.
  • social_profiles is an object with the keys being the name of the social network and the value being the identifying address on that network. Specifically,
    • twitter - The Twitter handle including @.
    • facebook - The Facebook Page URL
    • linkedin - The LinkedIn Page URL
    • instagram - The instagram username including @.
    • youtube - The URL to a YouTube channel.

Before committing your change, please make sure that there are no formatting issues by running the bin/format-json script. (You will need to brew install jq moreutils for that script to run.)

Projects List

If you don't want to use a GitHub organization URL for your projects list, you can link to a custom CSV or JSON file.

The custom projects list should have the following columns:

  • name is the project's name (filled in by GitHub if left blank)
  • description is the project's description (filled in by GitHub if left blank)
  • link_url a link to the project's web page (filled in by GitHub if left blank)
  • code_url a link to the project's repository (only GitHub links are supported)

A CSV example:

name,description,link_url,code_url
South Bend Voices,"A redeploy of CityVoice for South Bend, IN.",http://www.southbendvoices.com/,https://github.com/codeforamerica/cityvoice

The projects list URL can be any flavor of csv. The easiest way is to make a Google Spreadsheet like my example and then select File > Publish it to the web.

If you are using the new Google Spreadsheets, add /export?format=csv to the end. https://docs.google.com/spreadsheets/d/<key>/export?format=csv

If you have the older Google Drive version change ?output=html to ?output=csv. https://docs.google.com/spreadsheet/pub?key=<key>?output=csv

Put that in the Brigade Information sheet and you're done.

The projects list URL can also be a JSON file, with a list of strings containing GitHub project URLs.

If you have any questions, start an issue on this repo.

Syncing Brigade list from Salesforce

At Code for America we use Salesforce as the primary source of Brigade information.

In order to sync from Salesforce you will need:

  • Python3
  • The requests, geopy modules

We recommend setting up a virtualenv with:

python3 -m venv env
source env/bin/activate
pip install geopy requests

Then, you can sync from Salesforce with this command:

bin/merge-from-salesforce <(bin/download-from-salesforce) organizations.json

brigade-information's People

Contributors

adborden avatar bpeterso2000 avatar carlvlewis avatar esmartwave avatar fritzjooste avatar giosce avatar glassresistor avatar jgroenen avatar jillzey avatar krzysztofmadejski avatar markdav-is avatar milovanderlinden avatar mmazanec22 avatar mpbrown avatar mrcnc avatar nealf avatar noneck avatar opencolumbiaco avatar patcon avatar quarterback avatar readingdancer avatar schnuerle avatar sethetter avatar shaunm44 avatar tdooner avatar themightychris avatar thierrydelbart avatar thomasgroch avatar tmaybe avatar verythorough avatar

Stargazers

 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

brigade-information's Issues

'format-json' still needed?

Is this line from the readme still accurate?

Before committing your change, please make sure that there are no formatting issues by running the bin/format-json script. (You will need to brew install jq moreutils for that script to run.)

I ran the exec, but the format of whitespace was shifted for the whole doc.

Missing organizations from organizations.geojson

(I do not know if this is on purpose)

I downloaded organizations.geojson a month or so ago. And when I compare mine with the current organizations.geojson from the API, the following initiatives are missing:

  • Tech-Bark
  • Friendly-Code
  • Code-for-Winston-Salem
  • Code-For-Long-Beach
  • HackMKE

Is this on purpose or an error?

API proposal: adding twitter/facebook/other social media

Hey @ondrae and anyone else watching, we've collected facebook/twitter/etc. for the brigades and it feels natural to include it here, e.g. so that the search pages on brigade.codeforamerica.org can include the social media handles.

I propose a structure like this:

{
   // ...rest of fields here...
  "social_profiles": {
    "facebook": "https://facebook.com/...",
    "twitter": "http://twitter.com/openoakland",   // prefer URLs over usernames
  }
}

A few keys in the social_profiles object would be well-known, and brigades could add new ones as desired. For example, facebook, twitter and github to begin with, and for example a brigade with an instagram account could add it there without impacting anything else.

I'll get a PR up for this shortly but wanted to run this by the audience here first.

Code for San Jose website doesn't redirect properly

"website": "https://www.codeforsanjose.com/",

https://www.codeforsanjose.com/ returns a TLS error (looks like it doesn't do TLS properly). However, http://www.codeforsanjose.com/ does a 301 redirect to http://www.codeforsanjose.org which in turn redirects to https://www.codeforsanjose.org so that works.

Probably better to point directly to https://www.codeforsanjose.org/

(I'm not affiliated, at least yet, with Code for San Jose, but just noticed this)

How to model: Projects developed by few brigades, few repos per project

  1. As Code for Poland coordinator I'm pushing for projects of one brigade to be reused by other, or even developed together. So we have the situation when one project will be mentioned in few brigades project lists.

    Will that situation be handled correctly by CfApi?

  2. Other scenario that I'm not sure how to model is that many projects have few github repos (ie. backend server, iOS mobile, Android mobile). From docs I understand that only one repo can be specified per project.

Waiting for this issue with implementing project-list-export on our site epforgpl/web-kodujdlapolski.pl#10

Missing projects

Checked from Statusboard UI, 72 organizations show no projects!

BetaCityYEG
City of Helsinki
Code for Aizu
Code for Atlantic City
Code for BCS
Code for Canada
Code for Charlottesville
Code for Chofu
Code for Dallas
Code for Detroit
Code for Floripa
Code for Fukuoka
Code for Gifu
Code for Hackensack
Code for Homestead
Code for Ikoma
Code for Indianapolis
Code for Iowa
Code for Jersey City
Code for Kanagawa
Code for Kaohsiung
Code for Kashiwa
Code for Kissimmee
Code for Lansing
Code for Las Vegas
Code for Miami
Code for Milwaukee
Code for Montana
Code for Muskogee
Code for NL
Code for Nagareyama
Code for Nanto
Code for Nebraska
Code for Phoenix
Code for Poland
Code for RGV (Rio Grande Valley)
Code for Saga
Code for Saitama
Code for Shiogama
Code for Silesia
Code for Sonoma County
Code for Syracuse
Code for Tallahassee
Code for Tricity
Code for Utah
Code for Warsaw
Code for Worcester
Code for Wroclaw
Code the South
Data.gov
Detroit Water Project
Digital Services Georgia
Georgia Technology Authority
Hacking Monterrey
Northern Illinois University (Tech Bark)
OK Lab Bonn
OK Lab Dresden
OK Lab Frankfurt
OK Lab Jena
OK Lab Karlsruhe
OK Lab Magdeburg
OK Lab Stuttgart
OK Lab Ulm
OK Lab Wuppertal
Open Boise
Open Columbus (Indiana)
Open Indy
Open Syracuse
Open Toledo
Open Walnut Creek
OpenSTL
Poplu also strange location

Offline projects lists

A few offline projects lists I've come across

  • https://github.com/Code-for-Miami (spun off in #126)
  • http://dev.hel.fi/projects/projects.csv
  • https://github.com/opensaltlake seems to be moved to https://github.com/codeforutah
  • everything under codeforpoland.org

Logo attribute

Has anyone considered add a link to a logo image as an attribute for a brigade? Perhaps making use of the brigade logo github repo that is currently empty to store the images?

API Proposal: adding "previous_names" field

I'd like to add a "previous_names" array to each Brigade object, reason being that we've had a number of instances where brigades change their name over the years. So firstly it is just plain informational to people.

Secondly, and primarily, we use the name to determine the slug URL for the brigade on the brigade website. It would be ideal to be able to handle brigade name changes with 301 redirects. This would also help us understand when brigades have been renamed vs. removed.

e.g.

 {
    "name": "Open Charlotte Brigade",
    "previous_names": [
        "Code for Charlotte"
    ]
 }

Required fields

I would like to know which fields are mandatory and which are optional for the registration of an organization in organizations.json.

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.