Giter Club home page Giter Club logo

boston.gov's Introduction

City of Boston

The source code for Boston.gov, the official site of the City of Boston. Boston.gov is built on Drupal and serves as the digital front door for the City of Boston.

Welcome! We've released the code for Boston.gov in the public domain to engage developers and designers like you. We welcome your contributions to improve the City's digital front door, and are looking forward to sharing what we create together with the public.

— Mayor Martin J. Walsh

There’s a large, civic-minded ecosystem of software developers out there, especially in the Drupal community, and we’re hoping they’re willing to lend a hand and help Boston.gov grow, as well as foster collaboration between multiple organizations to solve common technical hurdles.

Developers

Get started with our developer guide.

Each contributor should fork the primary Boston.gov repo. All developers should then checkout a local copy of the develop branch to begin work.

For any work, pull requests must be created for individual tasks and submitted for review. Before submitting a pull request, be sure to sync the local branch with the upstream primary branch.

Pull requests should be submitted from the forked repo to the develop branch of the primary repo. Make sure to give your pull request a clear and descriptive title and use the template below.

Pull request template

## Changes

This PR references #[GitHub issue number]

 * [First change]
 * [Second change]
 * [Third change]

This PR references #[GitHub issue number]

Docker Quick-Start

Watch a YouTube video of this quick-start.

  1. Download Docker for Mac or Docker for Windows, or otherwise get a Docker environment with Docker Compose installed.
  2. Clone this repo.
  3. Run docker-compose up in the root directory. This will start the servers and stay open to show their logs.
  4. In another terminal window, initialize the database: docker exec bostongov_drupal_1 scripts/init-docker-container.sh (this will take 10+ minutes).
  5. Visit http://127.0.0.1:8888/ to see the blank install. Visit http://127.0.0.1:8888/user?local to log in, with admin/admin as username and password.

The Hub — our internal Drupal install — can run in the same container and against the same MySQL server. To initialize it, run:

docker exec bostongov_drupal_1 scripts/init-docker-container.sh hub

It’s available at http://127.0.0.1:8889/ and you can log in with admin/admin at http://127.0.0.1:8889/user?local

Since pulling files through the Docker volume mount is relatively slow, we keep vendored packages within the container and only map in our custom directories. So, only local edits to the following directories will be seen within the container:

  docroot/profiles
  docroot/sites/default
  docroot/sites/hub
  docroot/sites/all/modules/custom
  docroot/sites/all/modules/features
  docroot/sites/all/settings
  docroot/sites/all/themes/custom

You can modify this list by editing scripts/init-docker-container.sh

Running drush commands

To get a shell within a running Drupal container, run docker exec -it bostongov_drupal_1 /bin/bash

From there you can run drush or task.sh commands.

Running tests in Docker

Assuming you have already done the local initialization, you can run:

docker exec bostongov_drupal_1 ./task.sh -Dbehat.run-server=true -Dproject.build_db_from=initialize tests:all

Note: as of this writing, the tests do not work for the Hub environment (./hub-task.sh).

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.

Staying organized

All projects, open source or not, need some way to stay organized. Whether reporting a bug (check out the template), suggesting a feature another template, filing a pull request yay, templates, or even just seeing what's next in the queue, here are some ways we keep things clear on the Digital Team:

Contribute to development

Check out our current prioroities for boston.gov in our Git project.

boston.gov's People

Contributors

adduc avatar asalsman avatar billy22g avatar bpeniston avatar cob-deployer avatar fionawhim avatar frederickjansen avatar hackajesse avatar hamhands avatar jimafisk avatar matthewcrist avatar mattl avatar sethrait avatar

Watchers

 avatar  avatar

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.