A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

Safecast

Building out a network of sensors to monitor particulate matter in sizes PM1.0, PM2.5, PM10.
https://github.com/Safecast/safecastapi

Category: Natural Resources
Sub Category: Air Quality

Keywords from Contributors

measurements reporter observability archiving projection transforms animals sequencing compose optimize

Last synced: about 22 hours ago
JSON representation

Repository metadata

The app that powers api.safecast.org

README.md

Safecast/safecastapi

CircleCI Code Climate Test Coverage Gitpod Ready-to-Code

The app that powers api.safecast.org

Overview

This is a rails app deployed in front of Postgres with Postgis. Data files generatated from various devices such as the bGeigie Nano and are uploaded to the production app at api.safecast.org.

From there applications query the app's endpoints to pull the stored data for other purposes.

See the Tilemap Project's README for more diagrams on the complete data flow.

There is also a development host located at dev.safecast.org which is used for testing features before rolling them to the main endpoint.

Contributing

Onboarding

Start here: Onboarding

Available Data Sets

Translation

Translation is managed by Locale and open to all.

You can edit translations on the Safecast/safecastapi project on Locale.

The maintainers will then pull translations from the Locale project and push to Github.

Happy translating!

Development

There are a few apps for Safecast data processing. See https://github.com/safecast/safecastapi/wiki for a high level view (and link to a deeper doc).

All issues for server-side work live in https://github.com/safecast/safecastapi/issues

See the help-wanted label for some issues that should be approachable for folks just getting started with the app.

See one of the wiki pages for instructions on setting up for local development:

And finally we have a Slack channel for real time coordination. Contact Mat Schaffer to get an invite.

Deployment

See Ops Readme.

Licensing

Licensing can be confusing. We’ll try to make it a little less so.

When you contribute to Safecast by participating in an event OR submitting content or information to a webpage OR submitting a pull request, testing or bug reporting OR sending data from your Safecast device then you license all of your contribution to Safecast and to all the world under these same licenses. Safecast will be attributed as the source.

Design, hardware, software, design and website content is shared by Safecast under the licenses specified below:

  • All Data is Creative Commons Zero, anyone is free to make any use of the data, attribution is not legally required but is encouraged.
  • All Design is Creative Commons Attribution Share-Alike, anyone is free to copy, edit and republish the design but must make it clear Safecast is the source and the design must be published under the same or a compatible license.
  • All functional aspects of design are under the Berkeley Software Distribution License in respect of copyright and the XL1.0 Cross License in respect of patent.
  • Web Content is under Creative Commons Attribution Non Commercial, anyone can copy and remix the what is on the website but must attribute Safecast and anyone else specified by Safecast.
  • “Safecast” and the safecast logo are Registered Trademarks of the Momoko Ito Foundation, a 501(c)3 Non-profit, you can't use them without permission.
  • Software is licensed under the MIT license unless otherwise specified.

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 2,126
Total Committers: 39
Avg Commits per committer: 54.513
Development Distribution Score (DDS): 0.785

Commits in past year: 6
Committers in past year: 1
Avg Commits per committer in past year: 6.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Eito Katagiri e****l@g****m 458
Paul Campbell p****l@r****m 436
Mat Schaffer m****t@s****e 263
Frangible n****l@g****m 181
rknLA k****n@r****a 154
dependabot[bot] 4****] 116
zxc8207 z****7@g****u 79
Nakushi64 4****4 61
Andrew Todd at@a****g 42
Rob Oudendijk r****b@y****z 41
sasharevzin s****e@g****m 39
philipp p****p@n****p 39
Eoin Hennessy e****y@g****m 32
Robin r****7@g****m 27
Eli Wang e****i@e****m 22
Steven Wright s****2@n****u 20
Benjamin Dubois bd@j****m 19
Brian Flanagan b****f@m****m 18
Haiyan Zhang h****n@g****m 15
Evadne Wu ev@r****s 14
Kalin KOZHUHAROV m****n@g****m 10
Sean Bonner s****n@s****m 5
Anthony DeVincenzi t****v@g****m 4
Dimitri Bosch d****h@h****m 4
Anditto Heristyo a****o@g****m 3
akuab a****a@i****u 3
vagrant v****t@p****) 3
philipp h****p@w****e 3
fakufaku f****u@g****m 2
dependabot[bot] s****t@d****m 2
and 9 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 2 days ago

Total issues: 443
Total pull requests: 588
Average time to close issues: 11 months
Average time to close pull requests: 28 days
Total issue authors: 39
Total pull request authors: 32
Average comments per issue: 3.06
Average comments per pull request: 1.25
Merged pull request: 494
Bot issues: 0
Bot pull requests: 158

Past year issues: 1
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 1
Past year pull request authors: 0
Past year average comments per issue: 11.0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/Safecast/safecastapi

Top Issue Authors

  • matschaffer (174)
  • nokton (48)
  • seanbonner (34)
  • robouden (29)
  • thinrope (21)
  • sohlis (18)
  • auspicacious (14)
  • haiyan (13)
  • sasharevzin (13)
  • fakufaku (9)
  • Frangible (8)
  • rknLA (8)
  • Lugulbanda (6)
  • sarveswaran-m (6)
  • eitoball (5)

Top Pull Request Authors

  • eitoball (200)
  • dependabot[bot] (142)
  • matschaffer (76)
  • Frangible (27)
  • ZacharyCChang0828 (17)
  • sasharevzin (16)
  • dependabot-preview[bot] (16)
  • auspicacious (15)
  • Nakushi64 (14)
  • robouden (12)
  • Pheipp (9)
  • rdeskins (7)
  • jsidd (5)
  • thinrope (4)
  • db0sch (3)

Top Issue Labels

  • project:api (102)
  • project:ingest (46)
  • bug (35)
  • Feature Request (32)
  • Help Wanted (24)
  • ops (21)
  • For Discussion (20)
  • req:pieter (14)
  • req:jam (12)
  • project:reporting (7)
  • device-stories (4)
  • req:sean (2)
  • ux (2)
  • project:realtime (1)
  • project:map (1)
  • req:azby (1)

Top Pull Request Labels

  • dependencies (148)
  • project:api (75)
  • ruby (69)
  • bug (12)
  • ops (5)
  • github_actions (4)
  • device-stories (4)
  • For Discussion (2)
  • Feature Request (1)
  • ux (1)

Dependencies

doc/upload_demo/requirements.txt pypi
  • requests >=2.20.0
Gemfile rubygems
  • capybara >= 0 development
  • codeclimate-test-reporter >= 0 development
  • database_cleaner >= 0 development
  • email_spec >= 0 development
  • fabrication >= 0 development
  • pry-byebug >= 0 development
  • pry-rails >= 0 development
  • rails-controller-testing >= 0 development
  • rspec-its >= 0 development
  • rspec-rails >= 0 development
  • rspec_junit_formatter >= 0 development
  • rubocop >= 0 development
  • rubocop-performance >= 0 development
  • rubocop-rails >= 0 development
  • rubocop-rspec >= 0 development
  • spring >= 0 development
  • spring-commands-rspec >= 0 development
  • spring-watcher-listen ~> 2.0.0 development
  • webmock >= 0 development
  • activerecord-postgis-adapter ~> 6.0
  • aws-sdk-elasticbeanstalk >= 0
  • aws-sdk-rails >= 0
  • aws-sdk-s3 >= 0
  • bootsnap >= 0
  • bootstrap-kaminari-views >= 0
  • bootstrap-sass ~> 3.4.1
  • bootstrap3-datetimepicker-rails ~> 4.17.47
  • cancan >= 0
  • carrierwave ~> 1.3.2
  • chartkick >= 0
  • coffee-rails >= 0
  • csv_builder ~> 2.1.1
  • decent_exposure >= 0
  • delayed_job ~> 4.1.3
  • delayed_job_active_record >= 0
  • devise >= 0
  • devise-i18n >= 0
  • devise-token_authenticatable >= 0
  • dotenv-rails >= 0
  • draper >= 0
  • elastic-apm >= 0
  • elasticsearch-model >= 0
  • fog-aws ~> 2.0.0
  • formatted-dates >= 0
  • groupdate >= 0
  • has_scope ~> 0.7.1
  • jbuilder >= 0
  • jquery-rails >= 0
  • json = 2.3.0
  • kaminari >= 0
  • listen >= 0
  • mini_magick >= 0
  • momentjs-rails >= 2.9.0
  • newrelic_rpm >= 0
  • pg >= 0
  • puma >= 0
  • rails ~> 6.0.3.7
  • rails_admin ~> 2.0.0
  • rakismet >= 0
  • responders >= 0
  • rubyzip >= 0
  • sass-rails ~> 5.0
  • simple_form >= 0
  • swagger-blocks >= 0
  • uglifier >= 0
Gemfile.lock rubygems
  • 196 dependencies
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.circleci/Dockerfile docker
  • public.ecr.aws/amazonlinux/amazonlinux 2 build
.gp/Dockerfile docker
  • gitpod/workspace-full latest build
Dockerfile docker
  • public.ecr.aws/docker/library/ruby 2.7.6 build
docker-compose.yml docker

Score: 8.915835074176275