All Projects → CityOfBoston → 311

CityOfBoston / 311

Licence: other
New web portal for BOS:311

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to 311

CityScoreToolkit
Open-source version of Boston's CityScore performance dashboard
Stars: ✭ 42 (+180%)
Mutual labels:  government, open-data, civic-tech, gov, city, boston, city-government, smart-cities, doit-boston
digital
Public documentation and wiki for DoIT’s Digital team. Monorepo for new services.
Stars: ✭ 17 (+13.33%)
Mutual labels:  government, civic-tech, gov, city, boston, city-government, smart-cities, cityofboston, doit-boston
Forms
Tracking our progress moving all city paper and pdf forms online.
Stars: ✭ 14 (-6.67%)
Mutual labels:  government, open-data, civic-tech, gov, city, boston, city-government, smart-cities, doit-boston
code-gov
An informative repo for all Code.gov repos
Stars: ✭ 101 (+573.33%)
Mutual labels:  government, civic-tech, gov
ACCESS-NYC
Find help in NYC with food, money, housing, work, and more on ACCESS NYC. Maintained by @NYCOpportunity
Stars: ✭ 27 (+80%)
Mutual labels:  government, civic-tech, gov
Decidim
The participatory democracy framework. A generator and multiple gems made with Ruby on Rails
Stars: ✭ 894 (+5860%)
Mutual labels:  government, open-data, civic-tech
Data.gov
Data.gov source code and issue tracker
Stars: ✭ 1,856 (+12273.33%)
Mutual labels:  government, open-data
Rsocrata
Provides easier interaction with Socrata open data portals http://dev.socrata.com. Users can provide a 'Socrata' data set resource URL, or a 'Socrata' Open Data API (SoDA) web query, or a 'Socrata' "human-friendly" URL, returns an R data frame. Converts dates to 'POSIX' format. Manages throttling by 'Socrata'.
Stars: ✭ 182 (+1113.33%)
Mutual labels:  government, open-data
Design System
Open source design and front-end development resources for creating Section 508 compliant, responsive, and consistent websites.
Stars: ✭ 192 (+1180%)
Mutual labels:  government, civic-tech
ACCESS-NYC-PATTERNS
ACCESS NYC Pattern library and design system documentation for https://access.nyc.gov. Maintained by @NYCOpportunity
Stars: ✭ 14 (-6.67%)
Mutual labels:  civic-tech, gov
who-owns-what
Who owns what in nyc?
Stars: ✭ 146 (+873.33%)
Mutual labels:  open-data, civic-tech
uswds-sf-lightning-community
A Salesforce Lightning Community Theme and related components built upon US Web Design System
Stars: ✭ 24 (+60%)
Mutual labels:  salesforce, gov
Osd Bike Routes
Open source release of bike routes in Chicago.
Stars: ✭ 140 (+833.33%)
Mutual labels:  government, open-data
Osd Street Center Line
Open source release of street center lines in Chicago.
Stars: ✭ 108 (+620%)
Mutual labels:  government, open-data
Open Data Etl Utility Kit
Use Pentaho's open source data integration tool (Kettle) to create Extract-Transform-Load (ETL) processes to update a Socrata open data portal. Documentation is available at http://open-data-etl-utility-kit.readthedocs.io/en/stable
Stars: ✭ 93 (+520%)
Mutual labels:  government, open-data
digitalgov.gov
Digital.gov — Helping the government community deliver better digital services.
Stars: ✭ 167 (+1013.33%)
Mutual labels:  government, civic-tech
Visual Town Budget
Open-source budget visualization framework.
Stars: ✭ 74 (+393.33%)
Mutual labels:  government, city
mobxSpa
企业级SPA项目,完整开发脚手架
Stars: ✭ 96 (+540%)
Mutual labels:  eslint, mobx
Atd Data And Performance
Open data and performance hub for the City of Austin Transportation Department
Stars: ✭ 17 (+13.33%)
Mutual labels:  government, open-data
Openpolice Platform
An open source web publishing platform for police forces.
Stars: ✭ 15 (+0%)
Mutual labels:  government, open-data

City of Boston

The source code for the future 311.boston.gov.

Build Status codecov Greenkeeper badge

Developers

This is a Node project using the Next.js framework for server-side rendering.

  • Development Server: npm run dev http://localhost:3000/
  • React Storybook: npm run storybook http://localhost:9001/
  • Gulp: npx gulp watch
  • Tests: npm test or npm test -- --watch
  • Lint: npm run lint (uses ESLint --fix to fix common style errors)
  • Typecheck: npx flow

Getting started

Make sure you have at least Node 8.2 installed, preferrably with nvm or equivalent so you automatically pick up our .nvmrc file. Also, npm >= 5.3 (installed by default with Node 8.2 and up) and gulp-cli.

  1. Get the Open311 api_key and URL from a friend
  2. Copy .env.sample to .env and fill in the endpoint and keys
  3. Get other API keys: Mapbox, Searchly, &c. and put them in .env
  4. npm install
  5. npx gulp watch
  6. npm run dev
  7. Visit http://localhost:3000/ in your browser

JavaScript

This project uses Babel at the “latest” preset to include ES2015–17, as well as the “next/babel” preset.

Please make full use of:

Code style is enforced by ESLint, which can be run (in --fix mode) with npm run lint. Committed code must contain no errors or warnings. On a per-file basis, certain errors may be turned off. For example, to keep a class-based component:

// eslint react/prefer-stateless-function: 0

Type-checking

We use Flow type checking to ensure that modules are integrated together in a typesafe way. All source, test, and story files should start with // @flow to enable type checking.

We use flow-typed to provide Flow types for supported NPM modules, and have added our own under /flow-typed/npm.

We use apollo-codegen to generate Flow types for the *.graphql queries and mutations in /store/modules/graphql. These are output as /store/modules/graphql/schema.flow.js and should be used when possible to establish types for GraphQL arguments and responses.

Run npx flow to check types.

Backend

This project starts a Hapi server and uses Next.js’s custom server & routing support to serve HTML and JS. It runs the Apollo GraphQL server to facilitate communication with the client code.

Server-only code, including the GraphQL schema and resolvers, is in the /server directory.

The Gulp graphql:schema and graphql:types tasks are automatically run by gulp watch to update the schema and type files when code in server/graphql changes.

Backend debugging with Charles: env NODE_TLS_REJECT_UNAUTHORIZED=0 http_proxy=http://localhost:8888/ npm run dev

Frontend

The Next.js framework turns components in the /pages directory into entry points for the app. These are wrapped in higher-order components to provide common setup for our store and Glamor CSS setup.

The MobX store is configured in the /data/store directory. Access to the GraphQL backend is mediated through the function modules in /data/dao.

Components and containers are organized under /components by page.

For UI-focused development, use React Storybook by running npm run storybook and visiting http://localhost:9001

Local use of patterns library: After running gulp and npx fractal start -- --watch in the patterns directory, change stylesheets.json to reference https://localhost:3001 instead of cob-patterns-staging.

Public domain

This project is in the worldwide public domain. As stated in LICENSE:

This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.

All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.

Contributions

If you're interested in helping this project, there are three ways to help. Be sure to checkout our Guide to Contributing.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].