├── .dockerignore ├── .env.sample ├── .gitignore ├── .pairs ├── .rspec ├── .ruby-version ├── .slugignore ├── .travis.yml ├── Gemfile ├── Gemfile.lock ├── LICENSE.md ├── Procfile ├── README.md ├── Rakefile ├── Vagrantfile ├── app.rb ├── app ├── assets │ ├── css │ │ ├── application.css │ │ ├── footer.scss │ │ ├── splash.scss.erb │ │ └── styles.css.erb │ ├── img │ │ ├── cities │ │ │ └── backgrounds │ │ │ │ ├── austin.jpg │ │ │ │ ├── charlotte.jpg │ │ │ │ ├── chattanooga.png │ │ │ │ ├── edmonton.jpg │ │ │ │ ├── lexington.png │ │ │ │ ├── los-angeles.jpg │ │ │ │ ├── miami.jpg │ │ │ │ ├── new-york.jpg │ │ │ │ ├── orlando.jpg │ │ │ │ ├── sacramento.jpg │ │ │ │ ├── san-diego.jpg │ │ │ │ ├── san-francisco.jpg │ │ │ │ ├── seattle.jpg │ │ │ │ ├── triangle.jpg │ │ │ │ ├── triangle.png │ │ │ │ └── tulsa.jpg │ │ ├── footer │ │ │ ├── betanyc-icon.png │ │ │ ├── cfa-award-logo-purple-2.png │ │ │ ├── cfa-icon.png │ │ │ ├── charlotte-icon.png │ │ │ ├── github-icon.png │ │ │ ├── lexington-icon.png │ │ │ └── plus-icon.png │ │ ├── icons │ │ │ ├── citygram-logo-color.png │ │ │ ├── citygram-logo-white.png │ │ │ ├── coming-soon.png │ │ │ ├── conversation.png │ │ │ ├── email-coming-soon.png │ │ │ ├── email-inverted.png │ │ │ ├── email.png │ │ │ ├── folders.png │ │ │ ├── frequency.png │ │ │ ├── sms-inverted.png │ │ │ ├── sms.png │ │ │ └── success.png │ │ ├── publishers │ │ │ └── icons │ │ │ │ ├── balloons.png │ │ │ │ ├── building-permits.png │ │ │ │ ├── car-accident.png │ │ │ │ ├── certificate-of-occupancy.png │ │ │ │ ├── code-violations.png │ │ │ │ ├── cone.png │ │ │ │ ├── electrical-permits.png │ │ │ │ ├── fire-calls.png │ │ │ │ ├── foreclosures.png │ │ │ │ ├── garbage-truck.png │ │ │ │ ├── historic-districts.png │ │ │ │ ├── land-use-permits.png │ │ │ │ ├── landmarks.png │ │ │ │ ├── leaf-collection.png │ │ │ │ ├── los-angeles │ │ │ │ ├── la-311.png │ │ │ │ ├── metro-bus.png │ │ │ │ └── metro-rail.png │ │ │ │ ├── map.png │ │ │ │ ├── nyc │ │ │ │ ├── 311.png │ │ │ │ ├── broken-wheel.png │ │ │ │ ├── broken_street_light.png │ │ │ │ ├── consumer-complaints.png │ │ │ │ ├── graffiti.png │ │ │ │ ├── heat-hot-water.png │ │ │ │ ├── potholes.png │ │ │ │ ├── restaurant-inspections.png │ │ │ │ └── sustainability.png │ │ │ │ ├── phone.png │ │ │ │ ├── police-incidents.png │ │ │ │ ├── rezone.png │ │ │ │ ├── street-closures.png │ │ │ │ ├── utensils.png │ │ │ │ ├── voting.png │ │ │ │ ├── voting_boxes.png │ │ │ │ ├── voting_tablet.png │ │ │ │ ├── voting_yellow.png │ │ │ │ └── water.png │ │ └── splash │ │ │ ├── background-lg.jpg │ │ │ ├── background-sm.jpg │ │ │ ├── how-it-works.png │ │ │ ├── parachute-indigo.png │ │ │ └── text-bubble.png │ └── js │ │ ├── application.js │ │ ├── scripts.js │ │ └── vendor │ │ ├── autolinker.js │ │ ├── jquery.fittext.js │ │ └── latlon.js ├── models.rb ├── models │ ├── city.rb │ ├── event.rb │ ├── outage.rb │ ├── publisher.rb │ ├── sms_credentials.rb │ └── subscription.rb ├── modules │ └── sms_sender.rb ├── routes.rb ├── routes │ ├── digests.rb │ ├── events.rb │ ├── helpers.rb │ ├── page.rb │ ├── pages.rb │ ├── publishers.rb │ ├── status.rb │ ├── subscriptions.rb │ ├── unsubscribes.rb │ └── validations │ │ └── max.rb ├── services │ ├── channels.rb │ ├── channels │ │ ├── base.rb │ │ ├── email.rb │ │ ├── sms.rb │ │ └── webhook.rb │ ├── connection_builder.rb │ └── publisher_update.rb ├── views │ ├── _digest_events.erb │ ├── digest.erb │ ├── email.erb │ ├── index.erb │ ├── layouts │ │ ├── analytics.erb │ │ ├── footer.erb │ │ └── layout.erb │ ├── reminder.erb │ ├── show.erb │ └── unsubscribe.erb ├── workers.rb └── workers │ ├── middleware │ └── database_connections.rb │ ├── notifier.rb │ ├── publisher_poll.rb │ ├── reminder_notification.rb │ └── subscription_confirmation.rb ├── azure-pipelines.yml ├── config.ru ├── config ├── cities.geojson ├── newrelic.yml ├── redis.conf └── unicorn.rb ├── db ├── migrations │ ├── 001_enable_postgis_extension.rb │ ├── 002_create_events_table.rb │ ├── 003_create_subscriptions_table.rb │ ├── 004_create_publishers_table.rb │ ├── 005_add_index_on_subscriptions_geom.rb │ ├── 006_add_index_on_events_geom.rb │ ├── 007_add_publisher_id_to_subscriptions.rb │ ├── 008_add_timestamps_to_publishers.rb │ ├── 009_add_publisher_id_to_events.rb │ ├── 010_add_properties_to_events.rb │ ├── 011_add_feature_id_to_events.rb │ ├── 012_add_uniqueness_index_to_publishers.rb │ ├── 013_add_endpoint_to_subscriptions.rb │ ├── 014_add_channel_and_contact_to_subscriptions.rb │ ├── 015_add_ui_columns.rb │ ├── 016_add_channel_specific_contact_columns_to_subscriptions.rb │ ├── 017_add_unsubscribed_at_to_subscriptions.rb │ ├── 018_add_visible_to_publishers.rb │ ├── 019_add_state_to_publishers.rb │ ├── 020_enable_uuid_extension.rb │ ├── 021_create_http_requests.rb │ ├── 022_change_subscriptions_primary_key_to_uuid.rb │ ├── 023_add_description_to_publishers.rb │ ├── 024_enable_pg_stat_statements.rb │ ├── 025_change_event_properties_column_type_to_jsonb.rb │ ├── 026_add_tags_to_publishers.rb │ ├── 027_drop_publisher_unique_title_constraint.rb │ ├── 028_add_notification_date.rb │ ├── 029_add_custom_events_endpoint.rb │ ├── 030_add_events_are_polygons_to_publishers.rb │ ├── 031_create_sms_credentials.rb │ ├── 032_add_sms_credentials_to_publisher.rb │ └── 033_create_outages.rb └── schema.sql ├── doc └── maintainers_notes.md ├── docker-compose.yml ├── docker ├── citygram │ ├── Dockerfile │ └── env.docker └── data │ ├── Dockerfile │ └── schema.sh ├── images └── citygram_architecture.png ├── lib ├── database_helper.rb ├── digest_helper.rb ├── reminder_helper.rb ├── sequel │ └── plugins │ │ ├── attributes_helpers.rb │ │ ├── email_validation.rb │ │ ├── geometry_validation.rb │ │ ├── phone_validation.rb │ │ ├── save_helpers.rb │ │ └── url_validation.rb ├── sinatra │ ├── assets_extension.rb │ └── error_logging_extension.rb └── tasks │ ├── database.rake │ ├── digests.rake │ ├── publishers.rake │ ├── reminders.rake │ ├── stats.rake │ ├── subscriptions.rake │ └── test.rake ├── public ├── favicon.ico └── robots.txt └── spec ├── factories.rb ├── lib └── digest_helper_spec.rb ├── models ├── event_spec.rb ├── factory_spec.rb ├── outage_spec.rb ├── publisher_spec.rb ├── sms_credentials_spec.rb └── subscription_spec.rb ├── rack_config_spec.rb ├── routes ├── digests_spec.rb ├── events_spec.rb ├── page_spec.rb ├── pages_spec.rb ├── publishers_spec.rb ├── status_spec.rb ├── subscriptions_spec.rb └── unsubscribes_spec.rb ├── services ├── channels │ ├── email_spec.rb │ ├── sms_spec.rb │ └── webhook_spec.rb ├── connection_builder_spec.rb └── publisher_update_spec.rb ├── spec_helper.rb ├── support ├── db_sandbox.rb ├── factory_girl.rb ├── fixture_helpers.rb ├── fixtures │ ├── cmpd-traffic-incidents.geojson │ ├── disjoint-geom.geojson │ ├── empty-feature-collection.geojson │ ├── intersecting-geom.geojson │ ├── invalid-geom.geojson │ └── subject-geom.geojson ├── route_test_helpers.rb └── sidekiq.rb ├── tasks ├── digests_tasks_spec.rb ├── publishers_tasks_spec.rb └── subscriptions_tasks_spec.rake └── workers ├── notifier_spec.rb ├── publisher_poll_spec.rb ├── reminder_notification_spec.rb └── subscription_confirmation_spec.rb /.dockerignore: -------------------------------------------------------------------------------- 1 | .git 2 | latest.dump 3 | -------------------------------------------------------------------------------- /.env.sample: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/.env.sample -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/.gitignore -------------------------------------------------------------------------------- /.pairs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/.pairs -------------------------------------------------------------------------------- /.rspec: -------------------------------------------------------------------------------- 1 | --color 2 | --format=documentation 3 | 4 | -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 2.6.2 2 | -------------------------------------------------------------------------------- /.slugignore: -------------------------------------------------------------------------------- 1 | .env.sample 2 | .env 3 | spec 4 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/.travis.yml -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/Gemfile -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/Gemfile.lock -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/LICENSE.md -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/Procfile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/README.md -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/Rakefile -------------------------------------------------------------------------------- /Vagrantfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/Vagrantfile -------------------------------------------------------------------------------- /app.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app.rb -------------------------------------------------------------------------------- /app/assets/css/application.css: -------------------------------------------------------------------------------- 1 | /* 2 | *= require styles 3 | */ 4 | -------------------------------------------------------------------------------- /app/assets/css/footer.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/css/footer.scss -------------------------------------------------------------------------------- /app/assets/css/splash.scss.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/css/splash.scss.erb -------------------------------------------------------------------------------- /app/assets/css/styles.css.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/css/styles.css.erb -------------------------------------------------------------------------------- /app/assets/img/cities/backgrounds/austin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/cities/backgrounds/austin.jpg -------------------------------------------------------------------------------- /app/assets/img/cities/backgrounds/charlotte.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/cities/backgrounds/charlotte.jpg -------------------------------------------------------------------------------- /app/assets/img/cities/backgrounds/chattanooga.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/cities/backgrounds/chattanooga.png -------------------------------------------------------------------------------- /app/assets/img/cities/backgrounds/edmonton.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/cities/backgrounds/edmonton.jpg -------------------------------------------------------------------------------- /app/assets/img/cities/backgrounds/lexington.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/cities/backgrounds/lexington.png -------------------------------------------------------------------------------- /app/assets/img/cities/backgrounds/los-angeles.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/cities/backgrounds/los-angeles.jpg -------------------------------------------------------------------------------- /app/assets/img/cities/backgrounds/miami.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/cities/backgrounds/miami.jpg -------------------------------------------------------------------------------- /app/assets/img/cities/backgrounds/new-york.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/cities/backgrounds/new-york.jpg -------------------------------------------------------------------------------- /app/assets/img/cities/backgrounds/orlando.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/cities/backgrounds/orlando.jpg -------------------------------------------------------------------------------- /app/assets/img/cities/backgrounds/sacramento.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/cities/backgrounds/sacramento.jpg -------------------------------------------------------------------------------- /app/assets/img/cities/backgrounds/san-diego.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/cities/backgrounds/san-diego.jpg -------------------------------------------------------------------------------- /app/assets/img/cities/backgrounds/san-francisco.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/cities/backgrounds/san-francisco.jpg -------------------------------------------------------------------------------- /app/assets/img/cities/backgrounds/seattle.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/cities/backgrounds/seattle.jpg -------------------------------------------------------------------------------- /app/assets/img/cities/backgrounds/triangle.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/cities/backgrounds/triangle.jpg -------------------------------------------------------------------------------- /app/assets/img/cities/backgrounds/triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/cities/backgrounds/triangle.png -------------------------------------------------------------------------------- /app/assets/img/cities/backgrounds/tulsa.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/cities/backgrounds/tulsa.jpg -------------------------------------------------------------------------------- /app/assets/img/footer/betanyc-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/footer/betanyc-icon.png -------------------------------------------------------------------------------- /app/assets/img/footer/cfa-award-logo-purple-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/footer/cfa-award-logo-purple-2.png -------------------------------------------------------------------------------- /app/assets/img/footer/cfa-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/footer/cfa-icon.png -------------------------------------------------------------------------------- /app/assets/img/footer/charlotte-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/footer/charlotte-icon.png -------------------------------------------------------------------------------- /app/assets/img/footer/github-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/footer/github-icon.png -------------------------------------------------------------------------------- /app/assets/img/footer/lexington-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/footer/lexington-icon.png -------------------------------------------------------------------------------- /app/assets/img/footer/plus-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/footer/plus-icon.png -------------------------------------------------------------------------------- /app/assets/img/icons/citygram-logo-color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/icons/citygram-logo-color.png -------------------------------------------------------------------------------- /app/assets/img/icons/citygram-logo-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/icons/citygram-logo-white.png -------------------------------------------------------------------------------- /app/assets/img/icons/coming-soon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/icons/coming-soon.png -------------------------------------------------------------------------------- /app/assets/img/icons/conversation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/icons/conversation.png -------------------------------------------------------------------------------- /app/assets/img/icons/email-coming-soon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/icons/email-coming-soon.png -------------------------------------------------------------------------------- /app/assets/img/icons/email-inverted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/icons/email-inverted.png -------------------------------------------------------------------------------- /app/assets/img/icons/email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/icons/email.png -------------------------------------------------------------------------------- /app/assets/img/icons/folders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/icons/folders.png -------------------------------------------------------------------------------- /app/assets/img/icons/frequency.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/icons/frequency.png -------------------------------------------------------------------------------- /app/assets/img/icons/sms-inverted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/icons/sms-inverted.png -------------------------------------------------------------------------------- /app/assets/img/icons/sms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/icons/sms.png -------------------------------------------------------------------------------- /app/assets/img/icons/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/icons/success.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/balloons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/balloons.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/building-permits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/building-permits.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/car-accident.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/car-accident.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/certificate-of-occupancy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/certificate-of-occupancy.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/code-violations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/code-violations.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/cone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/cone.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/electrical-permits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/electrical-permits.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/fire-calls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/fire-calls.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/foreclosures.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/foreclosures.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/garbage-truck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/garbage-truck.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/historic-districts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/historic-districts.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/land-use-permits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/land-use-permits.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/landmarks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/landmarks.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/leaf-collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/leaf-collection.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/los-angeles/la-311.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/los-angeles/la-311.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/los-angeles/metro-bus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/los-angeles/metro-bus.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/los-angeles/metro-rail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/los-angeles/metro-rail.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/map.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/nyc/311.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/nyc/311.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/nyc/broken-wheel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/nyc/broken-wheel.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/nyc/broken_street_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/nyc/broken_street_light.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/nyc/consumer-complaints.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/nyc/consumer-complaints.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/nyc/graffiti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/nyc/graffiti.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/nyc/heat-hot-water.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/nyc/heat-hot-water.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/nyc/potholes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/nyc/potholes.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/nyc/restaurant-inspections.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/nyc/restaurant-inspections.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/nyc/sustainability.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/nyc/sustainability.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/phone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/phone.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/police-incidents.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/police-incidents.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/rezone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/rezone.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/street-closures.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/street-closures.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/utensils.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/utensils.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/voting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/voting.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/voting_boxes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/voting_boxes.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/voting_tablet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/voting_tablet.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/voting_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/voting_yellow.png -------------------------------------------------------------------------------- /app/assets/img/publishers/icons/water.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/publishers/icons/water.png -------------------------------------------------------------------------------- /app/assets/img/splash/background-lg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/splash/background-lg.jpg -------------------------------------------------------------------------------- /app/assets/img/splash/background-sm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/splash/background-sm.jpg -------------------------------------------------------------------------------- /app/assets/img/splash/how-it-works.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/splash/how-it-works.png -------------------------------------------------------------------------------- /app/assets/img/splash/parachute-indigo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/splash/parachute-indigo.png -------------------------------------------------------------------------------- /app/assets/img/splash/text-bubble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/img/splash/text-bubble.png -------------------------------------------------------------------------------- /app/assets/js/application.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/js/application.js -------------------------------------------------------------------------------- /app/assets/js/scripts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/js/scripts.js -------------------------------------------------------------------------------- /app/assets/js/vendor/autolinker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/js/vendor/autolinker.js -------------------------------------------------------------------------------- /app/assets/js/vendor/jquery.fittext.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/js/vendor/jquery.fittext.js -------------------------------------------------------------------------------- /app/assets/js/vendor/latlon.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/assets/js/vendor/latlon.js -------------------------------------------------------------------------------- /app/models.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/models.rb -------------------------------------------------------------------------------- /app/models/city.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/models/city.rb -------------------------------------------------------------------------------- /app/models/event.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/models/event.rb -------------------------------------------------------------------------------- /app/models/outage.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/models/outage.rb -------------------------------------------------------------------------------- /app/models/publisher.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/models/publisher.rb -------------------------------------------------------------------------------- /app/models/sms_credentials.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/models/sms_credentials.rb -------------------------------------------------------------------------------- /app/models/subscription.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/models/subscription.rb -------------------------------------------------------------------------------- /app/modules/sms_sender.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/modules/sms_sender.rb -------------------------------------------------------------------------------- /app/routes.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/routes.rb -------------------------------------------------------------------------------- /app/routes/digests.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/routes/digests.rb -------------------------------------------------------------------------------- /app/routes/events.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/routes/events.rb -------------------------------------------------------------------------------- /app/routes/helpers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/routes/helpers.rb -------------------------------------------------------------------------------- /app/routes/page.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/routes/page.rb -------------------------------------------------------------------------------- /app/routes/pages.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/routes/pages.rb -------------------------------------------------------------------------------- /app/routes/publishers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/routes/publishers.rb -------------------------------------------------------------------------------- /app/routes/status.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/routes/status.rb -------------------------------------------------------------------------------- /app/routes/subscriptions.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/routes/subscriptions.rb -------------------------------------------------------------------------------- /app/routes/unsubscribes.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/routes/unsubscribes.rb -------------------------------------------------------------------------------- /app/routes/validations/max.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/routes/validations/max.rb -------------------------------------------------------------------------------- /app/services/channels.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/services/channels.rb -------------------------------------------------------------------------------- /app/services/channels/base.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/services/channels/base.rb -------------------------------------------------------------------------------- /app/services/channels/email.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/services/channels/email.rb -------------------------------------------------------------------------------- /app/services/channels/sms.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/services/channels/sms.rb -------------------------------------------------------------------------------- /app/services/channels/webhook.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/services/channels/webhook.rb -------------------------------------------------------------------------------- /app/services/connection_builder.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/services/connection_builder.rb -------------------------------------------------------------------------------- /app/services/publisher_update.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/services/publisher_update.rb -------------------------------------------------------------------------------- /app/views/_digest_events.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/views/_digest_events.erb -------------------------------------------------------------------------------- /app/views/digest.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/views/digest.erb -------------------------------------------------------------------------------- /app/views/email.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/views/email.erb -------------------------------------------------------------------------------- /app/views/index.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/views/index.erb -------------------------------------------------------------------------------- /app/views/layouts/analytics.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/views/layouts/analytics.erb -------------------------------------------------------------------------------- /app/views/layouts/footer.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/views/layouts/footer.erb -------------------------------------------------------------------------------- /app/views/layouts/layout.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/views/layouts/layout.erb -------------------------------------------------------------------------------- /app/views/reminder.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/views/reminder.erb -------------------------------------------------------------------------------- /app/views/show.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/views/show.erb -------------------------------------------------------------------------------- /app/views/unsubscribe.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/views/unsubscribe.erb -------------------------------------------------------------------------------- /app/workers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/workers.rb -------------------------------------------------------------------------------- /app/workers/middleware/database_connections.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/workers/middleware/database_connections.rb -------------------------------------------------------------------------------- /app/workers/notifier.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/workers/notifier.rb -------------------------------------------------------------------------------- /app/workers/publisher_poll.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/workers/publisher_poll.rb -------------------------------------------------------------------------------- /app/workers/reminder_notification.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/workers/reminder_notification.rb -------------------------------------------------------------------------------- /app/workers/subscription_confirmation.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/app/workers/subscription_confirmation.rb -------------------------------------------------------------------------------- /azure-pipelines.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/azure-pipelines.yml -------------------------------------------------------------------------------- /config.ru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/config.ru -------------------------------------------------------------------------------- /config/cities.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/config/cities.geojson -------------------------------------------------------------------------------- /config/newrelic.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/config/newrelic.yml -------------------------------------------------------------------------------- /config/redis.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/config/redis.conf -------------------------------------------------------------------------------- /config/unicorn.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/config/unicorn.rb -------------------------------------------------------------------------------- /db/migrations/001_enable_postgis_extension.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/001_enable_postgis_extension.rb -------------------------------------------------------------------------------- /db/migrations/002_create_events_table.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/002_create_events_table.rb -------------------------------------------------------------------------------- /db/migrations/003_create_subscriptions_table.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/003_create_subscriptions_table.rb -------------------------------------------------------------------------------- /db/migrations/004_create_publishers_table.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/004_create_publishers_table.rb -------------------------------------------------------------------------------- /db/migrations/005_add_index_on_subscriptions_geom.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/005_add_index_on_subscriptions_geom.rb -------------------------------------------------------------------------------- /db/migrations/006_add_index_on_events_geom.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/006_add_index_on_events_geom.rb -------------------------------------------------------------------------------- /db/migrations/007_add_publisher_id_to_subscriptions.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/007_add_publisher_id_to_subscriptions.rb -------------------------------------------------------------------------------- /db/migrations/008_add_timestamps_to_publishers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/008_add_timestamps_to_publishers.rb -------------------------------------------------------------------------------- /db/migrations/009_add_publisher_id_to_events.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/009_add_publisher_id_to_events.rb -------------------------------------------------------------------------------- /db/migrations/010_add_properties_to_events.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/010_add_properties_to_events.rb -------------------------------------------------------------------------------- /db/migrations/011_add_feature_id_to_events.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/011_add_feature_id_to_events.rb -------------------------------------------------------------------------------- /db/migrations/012_add_uniqueness_index_to_publishers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/012_add_uniqueness_index_to_publishers.rb -------------------------------------------------------------------------------- /db/migrations/013_add_endpoint_to_subscriptions.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/013_add_endpoint_to_subscriptions.rb -------------------------------------------------------------------------------- /db/migrations/014_add_channel_and_contact_to_subscriptions.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/014_add_channel_and_contact_to_subscriptions.rb -------------------------------------------------------------------------------- /db/migrations/015_add_ui_columns.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/015_add_ui_columns.rb -------------------------------------------------------------------------------- /db/migrations/016_add_channel_specific_contact_columns_to_subscriptions.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/016_add_channel_specific_contact_columns_to_subscriptions.rb -------------------------------------------------------------------------------- /db/migrations/017_add_unsubscribed_at_to_subscriptions.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/017_add_unsubscribed_at_to_subscriptions.rb -------------------------------------------------------------------------------- /db/migrations/018_add_visible_to_publishers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/018_add_visible_to_publishers.rb -------------------------------------------------------------------------------- /db/migrations/019_add_state_to_publishers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/019_add_state_to_publishers.rb -------------------------------------------------------------------------------- /db/migrations/020_enable_uuid_extension.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/020_enable_uuid_extension.rb -------------------------------------------------------------------------------- /db/migrations/021_create_http_requests.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/021_create_http_requests.rb -------------------------------------------------------------------------------- /db/migrations/022_change_subscriptions_primary_key_to_uuid.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/022_change_subscriptions_primary_key_to_uuid.rb -------------------------------------------------------------------------------- /db/migrations/023_add_description_to_publishers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/023_add_description_to_publishers.rb -------------------------------------------------------------------------------- /db/migrations/024_enable_pg_stat_statements.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/024_enable_pg_stat_statements.rb -------------------------------------------------------------------------------- /db/migrations/025_change_event_properties_column_type_to_jsonb.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/025_change_event_properties_column_type_to_jsonb.rb -------------------------------------------------------------------------------- /db/migrations/026_add_tags_to_publishers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/026_add_tags_to_publishers.rb -------------------------------------------------------------------------------- /db/migrations/027_drop_publisher_unique_title_constraint.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/027_drop_publisher_unique_title_constraint.rb -------------------------------------------------------------------------------- /db/migrations/028_add_notification_date.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/028_add_notification_date.rb -------------------------------------------------------------------------------- /db/migrations/029_add_custom_events_endpoint.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/029_add_custom_events_endpoint.rb -------------------------------------------------------------------------------- /db/migrations/030_add_events_are_polygons_to_publishers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/030_add_events_are_polygons_to_publishers.rb -------------------------------------------------------------------------------- /db/migrations/031_create_sms_credentials.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/031_create_sms_credentials.rb -------------------------------------------------------------------------------- /db/migrations/032_add_sms_credentials_to_publisher.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/032_add_sms_credentials_to_publisher.rb -------------------------------------------------------------------------------- /db/migrations/033_create_outages.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/migrations/033_create_outages.rb -------------------------------------------------------------------------------- /db/schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/db/schema.sql -------------------------------------------------------------------------------- /doc/maintainers_notes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/doc/maintainers_notes.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docker/citygram/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/docker/citygram/Dockerfile -------------------------------------------------------------------------------- /docker/citygram/env.docker: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/docker/citygram/env.docker -------------------------------------------------------------------------------- /docker/data/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/docker/data/Dockerfile -------------------------------------------------------------------------------- /docker/data/schema.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/docker/data/schema.sh -------------------------------------------------------------------------------- /images/citygram_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/images/citygram_architecture.png -------------------------------------------------------------------------------- /lib/database_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/database_helper.rb -------------------------------------------------------------------------------- /lib/digest_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/digest_helper.rb -------------------------------------------------------------------------------- /lib/reminder_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/reminder_helper.rb -------------------------------------------------------------------------------- /lib/sequel/plugins/attributes_helpers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/sequel/plugins/attributes_helpers.rb -------------------------------------------------------------------------------- /lib/sequel/plugins/email_validation.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/sequel/plugins/email_validation.rb -------------------------------------------------------------------------------- /lib/sequel/plugins/geometry_validation.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/sequel/plugins/geometry_validation.rb -------------------------------------------------------------------------------- /lib/sequel/plugins/phone_validation.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/sequel/plugins/phone_validation.rb -------------------------------------------------------------------------------- /lib/sequel/plugins/save_helpers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/sequel/plugins/save_helpers.rb -------------------------------------------------------------------------------- /lib/sequel/plugins/url_validation.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/sequel/plugins/url_validation.rb -------------------------------------------------------------------------------- /lib/sinatra/assets_extension.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/sinatra/assets_extension.rb -------------------------------------------------------------------------------- /lib/sinatra/error_logging_extension.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/sinatra/error_logging_extension.rb -------------------------------------------------------------------------------- /lib/tasks/database.rake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/tasks/database.rake -------------------------------------------------------------------------------- /lib/tasks/digests.rake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/tasks/digests.rake -------------------------------------------------------------------------------- /lib/tasks/publishers.rake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/tasks/publishers.rake -------------------------------------------------------------------------------- /lib/tasks/reminders.rake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/tasks/reminders.rake -------------------------------------------------------------------------------- /lib/tasks/stats.rake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/tasks/stats.rake -------------------------------------------------------------------------------- /lib/tasks/subscriptions.rake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/tasks/subscriptions.rake -------------------------------------------------------------------------------- /lib/tasks/test.rake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/lib/tasks/test.rake -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /spec/factories.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/factories.rb -------------------------------------------------------------------------------- /spec/lib/digest_helper_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/lib/digest_helper_spec.rb -------------------------------------------------------------------------------- /spec/models/event_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/models/event_spec.rb -------------------------------------------------------------------------------- /spec/models/factory_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/models/factory_spec.rb -------------------------------------------------------------------------------- /spec/models/outage_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/models/outage_spec.rb -------------------------------------------------------------------------------- /spec/models/publisher_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/models/publisher_spec.rb -------------------------------------------------------------------------------- /spec/models/sms_credentials_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/models/sms_credentials_spec.rb -------------------------------------------------------------------------------- /spec/models/subscription_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/models/subscription_spec.rb -------------------------------------------------------------------------------- /spec/rack_config_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/rack_config_spec.rb -------------------------------------------------------------------------------- /spec/routes/digests_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/routes/digests_spec.rb -------------------------------------------------------------------------------- /spec/routes/events_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/routes/events_spec.rb -------------------------------------------------------------------------------- /spec/routes/page_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/routes/page_spec.rb -------------------------------------------------------------------------------- /spec/routes/pages_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/routes/pages_spec.rb -------------------------------------------------------------------------------- /spec/routes/publishers_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/routes/publishers_spec.rb -------------------------------------------------------------------------------- /spec/routes/status_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/routes/status_spec.rb -------------------------------------------------------------------------------- /spec/routes/subscriptions_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/routes/subscriptions_spec.rb -------------------------------------------------------------------------------- /spec/routes/unsubscribes_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/routes/unsubscribes_spec.rb -------------------------------------------------------------------------------- /spec/services/channels/email_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/services/channels/email_spec.rb -------------------------------------------------------------------------------- /spec/services/channels/sms_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/services/channels/sms_spec.rb -------------------------------------------------------------------------------- /spec/services/channels/webhook_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/services/channels/webhook_spec.rb -------------------------------------------------------------------------------- /spec/services/connection_builder_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/services/connection_builder_spec.rb -------------------------------------------------------------------------------- /spec/services/publisher_update_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/services/publisher_update_spec.rb -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/spec_helper.rb -------------------------------------------------------------------------------- /spec/support/db_sandbox.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/support/db_sandbox.rb -------------------------------------------------------------------------------- /spec/support/factory_girl.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/support/factory_girl.rb -------------------------------------------------------------------------------- /spec/support/fixture_helpers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/support/fixture_helpers.rb -------------------------------------------------------------------------------- /spec/support/fixtures/cmpd-traffic-incidents.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/support/fixtures/cmpd-traffic-incidents.geojson -------------------------------------------------------------------------------- /spec/support/fixtures/disjoint-geom.geojson: -------------------------------------------------------------------------------- 1 | {"type":"Point","coordinates":[0.0,0.0]} -------------------------------------------------------------------------------- /spec/support/fixtures/empty-feature-collection.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/support/fixtures/empty-feature-collection.geojson -------------------------------------------------------------------------------- /spec/support/fixtures/intersecting-geom.geojson: -------------------------------------------------------------------------------- 1 | {"type":"Point","coordinates":[100.5,20.5]} -------------------------------------------------------------------------------- /spec/support/fixtures/invalid-geom.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/support/fixtures/invalid-geom.geojson -------------------------------------------------------------------------------- /spec/support/fixtures/subject-geom.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/support/fixtures/subject-geom.geojson -------------------------------------------------------------------------------- /spec/support/route_test_helpers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/support/route_test_helpers.rb -------------------------------------------------------------------------------- /spec/support/sidekiq.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/support/sidekiq.rb -------------------------------------------------------------------------------- /spec/tasks/digests_tasks_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/tasks/digests_tasks_spec.rb -------------------------------------------------------------------------------- /spec/tasks/publishers_tasks_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/tasks/publishers_tasks_spec.rb -------------------------------------------------------------------------------- /spec/tasks/subscriptions_tasks_spec.rake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/tasks/subscriptions_tasks_spec.rake -------------------------------------------------------------------------------- /spec/workers/notifier_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/workers/notifier_spec.rb -------------------------------------------------------------------------------- /spec/workers/publisher_poll_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/workers/publisher_poll_spec.rb -------------------------------------------------------------------------------- /spec/workers/reminder_notification_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/workers/reminder_notification_spec.rb -------------------------------------------------------------------------------- /spec/workers/subscription_confirmation_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeforamerica/citygram/HEAD/spec/workers/subscription_confirmation_spec.rb --------------------------------------------------------------------------------