Git Product home page Git Product logo

gocongress's Introduction

U.S. Go Congress

A maintainable web app for the U.S. Go Congress. Copyright (c) 2010-2021 American Go Association

Build Status Maintainability

Support

Nate Eagle is the current U.S. Go Congress webmaster. You can email him or create an issue here with any questions, concerns, or feedback. Contributions to the site are welcome and encouraged: if you know some Ruby, JavaScript, or even just HTML/CSS, creating a pull request is a great way to become part of the team.

Contribute

  1. Prerequisites
    1. Linux (eg. Ubuntu 16.04+) or Mac OS 10.8+
    2. Proficiency with git and sql
    3. Read Getting Started with Rails
    4. Fork and clone this github repo
  2. Install the Ruby version specified in .ruby-version.
  3. Install PostgreSQL 9.4.4+
    1. Practice connecting using the command-line client, psql
    2. Make sure you have a role that can create tables
  4. App dependencies
    1. Install a js runtime
    2. Install ImageMagick CLI
      • eg. brew install imagemagick
      • Make sure CLI tools are on your PATH with eg. which convert
    3. Install ruby gems using bundler
      1. gem install bundler --version '1.17'
      2. bundle install
      3. If a gem fails to install, it may be missing native libraries
        1. nokogiri needs libxml2 and libxslt
        2. pg needs libpq-dev
  5. App configuration
    1. Configure rails to talk to your database
      1. cp config/database.example.yml config/database.yml
    2. cp .env.example .env (see Configuration below)
    3. If all is well, bin/rake -T should list rake tasks
  6. Run the tests
    1. bin/rails db:setup
    2. bin/rails db:test:prepare
    3. bin/rake will run the tests. If they all pass, you're good to go.
  7. Submit your contribution
    1. Write a spec that describes your contribution
    2. Push your changes to your fork on github
    3. Submit a pull request

Configuration

ENV variables are stored in a .env file, which is git-ignored. Most of these variables don't belong in source control because they are secret. Others vary by deployment level. This file will be loaded by the dotenv gem.

For local development, cp .env.example .env to get started. For stage and production use heroku config.

Email

Sent by Rails

See doc/smtp.md

Received by gocongress.org staff

Email for accounts in the gocongress.org domain is managed through Google Apps. [email protected] has access to manage these accounts.

Thanks

Special thanks to Lisa Scott, who helped invent, and tirelessly tested, the first year's site in 2011. Special thanks to Jared Beck, who provided mentoring and assistance for the 2014 site. Special thanks to Tim Hoel and Jared Beck who both provided mentoring and assistance for the 2015 site. Special thanks to Rex Cristal, for taking over maintenance of the site from 2015 โ€“ 2019!

  • 2019: Gregory Steltenpohl, Nate Eagle, Steve Colburn, Lisa Scott, Dave Weimer
  • 2018: Nate Eagle, Joel Cahalan, Steve Colburn, Andrew Jackson
  • 2017: Andrew Jackson, Jared Beck, Steve Colburn, Lisa Scott, Ted Terpstra, Les Lanphear
  • 2016: Rex Cristal, Walther Chen, Sun Chun
  • 2015: Tim Hoel, Jared Beck, Andrew Jackson, Josh Larson, Steve Colburn, Rex Cristal
  • 2014: Jared Beck, Andrew Jackson, Matthew Hershberger, Chris Kirschner, Steve Colburn, Rex Cristal
  • 2013: Chris Kirschner, Judy Debel
  • 2012: Arlene Bridges, Bob Bacon, Steve Colburn
  • 2011: Lisa Scott, Alf Mikula, Brian David, Andrew Jackson, Steve Colburn

gocongress's People

Contributors

amikula avatar amj avatar beejunk avatar compostbrain avatar dependabot[bot] avatar hajinlee avatar jaredbeck avatar neagle avatar rcristal 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.