Klimatkollen
A web application that displays emissions within municipalities in Sweden, along with a machine learning data pipeline under development, which will find, extract, and list emissions from companies.
https://github.com/klimatbyran/klimatkollen
Keywords from Contributors
sustainability climate climate-change photovoltaic sustainable-development-goals feature-toggle feature-flag featured training control
Last synced: 24 days ago
JSON representation
Acceptance Criteria
- Revelant topics? false
- External users? true
- Open source license? true
- Active? true
- Fork? false
Repository metadata
Deprecated code for Klimatkollen's old frontend
- Host: GitHub
- URL: https://github.com/klimatbyran/klimatkollen
- Owner: Klimatbyran
- License: other
- Created: 2022-01-10T14:33:13.000Z (over 3 years ago)
- Default Branch: staging
- Last Pushed: 2025-03-11T07:16:53.000Z (about 2 months ago)
- Last Synced: 2025-03-11T11:15:41.612Z (about 2 months ago)
- Language: TypeScript
- Homepage: https://www.klimatkollen.se
- Size: 194 MB
- Stars: 48
- Watchers: 4
- Forks: 53
- Open Issues: 70
- Releases: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
README.md
Klimatkollen
Please observe! This is the deprecated code for klimatkollen.se. Any improvements/changes/fixes should be made in the new repo! Only exceptions are work on the data processing pipeline, as this is used by the new site as well.
Free our climate data!
Klimatkollen is an open source and citizen-driven climate data platform aimed at visualising local climate data in Sweden.
The problem: Sweden’s 290 cities and municipalities are not slashing carbon emissions fast enough to be in line with the Paris Agreement. Climate data that can help us is often locked behind paywalls, or sits in complex government databases. If we can’t clearly see how much CO2 is being emitted, from which sources and how quickly we need to decarbonise – we can’t create a public opinion strong enough to change the course of our future. This needs to change.
That’s why we’re building a data-driven movement of climate-savvy developers to help us find and visualise climate data for the public. Climb aboard!
Join our Discord and set our climate data free!
#Klimatkollen #FreeClimateData
Building and running locally
If you're starting from scratch, and working with GitHub, NodeJS and so on is new to you, read doc/getting-started.md.
We use next.js and Typescript and it's pretty straightforward to get started. After cloning the repo run:
npm ci
npm run dev
This opens up a webserver on http://localhost:3000. Just edit the code and see the live refresh.
The project can also be run with docker compose
with --watch
(v2.22.0+) for live refresh:
docker compose up --build --watch
Data overview
In very general terms, Klimatkollen presents:
- Detailed information about Swedish municipalities' emissions...
- ...and their remaining emission budget based on the Paris Agreement.
- Other key point indicators for sustainability transition, such as electric car charger density.
- Contextual information to help understand the significance of the above.
File overview
The toplevel directory contains a lot of files and folders. You can just ignore most of them. Take note of:
README.md
- this document.data
: Our data processing pipeline, written in Python. This can more or less be used/edited independently of the rest of the repository. Seedata/README.md
.data/facts
: Copies of source datasets.
doc
: Documentation and guides, they might answer many questions.doc/getting-started.md
: Detailed setup instructions for the web project.doc/contributing.md
: Good to know before making your first contribution.
pages
andcomponents
: Source code for almost everything visible on the website's pages.public
: Files that will be served directly on the website.public/locales
: Language files defining translations of the website.
Code architecture overview
How does everything fit together, code-wise?
- Copies of source datasets are under
data/facts
. - We run the Python scripts under
data
to producedata/output/climate-data.json
from those datasets. - The latest copy of
data/output/climate-data.json
is always checked into version control. - The rest of the website source code loads
data/output/climate-data.json
. - The framework
next.js
is used to compile actual HTML pages at runtime. next.js
caches each page for serving, to serve it faster for each new visitor.
Contributing
The idea behind Klimatkollen is to give citizens access to the climate data we need to meet the goals of the Paris Agreement – and save our own future.
Do you have an idea for a feature you think should be added to the project? Before jumping into the code, it's a good idea to discuss your idea in the Discord server. That way you can find out if someone is already planning work in that area, or if your suggestion aligns with other people's thoughts. You can always submit an issue explaining your suggestion. We try to review the issues as soon as possible, but be aware that the team is at times very busy. Again, feel free to ask for a review on Discord!
Looking for ideas on what needs to be done? We appreciate help on existing issues very much. If you pick one up, remember to leave a comment saying you're working on it, and roughly when you expect to report progress. This helps others avoid double work and know what to expect.
Testing, bug fixes, typos or fact checking of our data is highly appreciated.
See doc/contributing.md before making your first contribution.
Contact
Join the Discord server in the introduction or send an email to [email protected].
Supporters and Partners
This work wouldn't have been possible without the support from
Google.org, Postkodstiftelsen.
We'd also like to thank our current and former partners
ClimateView, Klimatklubben.se, Researcher's Desk, Exponential Roadmap, WWF, We Don't Have Time, VĂĄra Barns Klimat, Argand, StormGeo, Iteam, Precisit, Climate AI Nordics.
LICENSE
This project is licensed under the terms of the Apache 2.0 © Klimatbyrån Ideell Förening.
Owner metadata
- Name: KlimatbyrĂĄn
- Login: Klimatbyran
- Email:
- Kind: organization
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/101254632?v=4
- Repositories: 1
- Last ynced at: 2023-03-03T21:04:13.254Z
- Profile URL: https://github.com/Klimatbyran
GitHub Events
Total
- Issues event: 1
- Delete event: 20
- Issue comment event: 4
- Push event: 10
- Pull request event: 4
- Create event: 2
Last Year
- Issues event: 1
- Delete event: 20
- Issue comment event: 4
- Push event: 10
- Pull request event: 4
- Create event: 2
Committers metadata
Last synced: about 2 months ago
Total Commits: 583
Total Committers: 47
Avg Commits per committer: 12.404
Development Distribution Score (DDS): 0.557
Commits in past year: 254
Committers in past year: 30
Avg Commits per committer in past year: 8.467
Development Distribution Score (DDS) in past year: 0.622
Name | Commits | |
---|---|---|
Elvira | e****m | 258 |
Samuel Plumppu | 6****t | 91 |
Johanna Grahn | j****n@i****e | 42 |
Emil Ahlbäck | e****k@i****e | 30 |
Mikaela LundsgĂĄrd | 5****u | 16 |
Christian Landgren | c****n@l****u | 14 |
Ludvig Janiuk | l****k@g****m | 13 |
Gabrielle Kamph | 7****h | 13 |
Gabrielle Kamph | g****h@G****n | 12 |
Rickard Natt och Dag | r****g@i****m | 11 |
Elvira Boman | 8 | |
Charlotta Jaunviksna | c****a@g****m | 7 |
Kayla Woodbury | 5****y | 6 |
datalowe | d****e@p****e | 5 |
Elias Martinsson | 1****n | 4 |
schweinryder | w****b@g****m | 4 |
Johanna MĂĄnsson Grahn | j****a@J****l | 3 |
Kristoffer Larberg | 5****g | 3 |
Larissa Lang | 1****s | 3 |
Mathias Bergqvist | m****v@g****m | 3 |
Matthew Hutter | m****r@g****m | 3 |
Erik Hellman | e****n@i****e | 2 |
Adebayo Ajayi | 5****h | 2 |
Alexander Sandström | 5****k | 2 |
Anna Loverus | a****s | 2 |
Simon | c****t@s****s | 2 |
Simon Mossmyr | m****r@l****m | 2 |
SimonAM | s****n@g****m | 2 |
svjson | j****n@g****m | 2 |
mdciofalo | 1****o | 1 |
and 17 more... |
Committer domains:
- iteam.se: 3
- corneliaryas.com: 1
- join.se: 1
- johan.li: 1
- petertoth.se: 1
- belanglos.net: 1
- smn.codes: 1
- posteo.de: 1
- invidi.com: 1
- gabrielles-air.lan: 1
- landgren.nu: 1
Issue and Pull Request metadata
Last synced: about 2 months ago
Total issues: 235
Total pull requests: 385
Average time to close issues: about 2 months
Average time to close pull requests: 5 days
Total issue authors: 26
Total pull request authors: 36
Average comments per issue: 1.2
Average comments per pull request: 1.66
Merged pull request: 321
Bot issues: 0
Bot pull requests: 0
Past year issues: 153
Past year pull requests: 260
Past year average time to close issues: 12 days
Past year average time to close pull requests: 4 days
Past year issue authors: 22
Past year pull request authors: 24
Past year average comments per issue: 0.93
Past year average comments per pull request: 1.72
Past year merged pull request: 216
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- elvbom (86)
- Greenheart (58)
- LudwikJaniuk (29)
- allazis (9)
- olavG91 (4)
- Klimatkollen (4)
- JohanLi (4)
- irony (4)
- lalarus (4)
- e-martinsson (4)
- datalowe (4)
- mshd (3)
- Abbe98 (3)
- smncd (2)
- joakimbits (2)
Top Pull Request Authors
- elvbom (189)
- Greenheart (72)
- LudwikJaniuk (11)
- allazis (9)
- e-martinsson (9)
- kaylawoodbury (8)
- mull (8)
- ErikHellman (6)
- schweinryder (6)
- smncd (5)
- SimonAM (5)
- datalowe (5)
- mittistormen (5)
- SimonMossmyr (4)
- mathiasb (4)
Top Issue Labels
- enhancement (110)
- bug (44)
- good first issue (43)
- not ready (33)
- ready (24)
- help wanted (19)
- data (11)
- question (8)
- documentation (5)
Top Pull Request Labels
- wontfix (2)
- enhancement (2)
Dependencies
- 1285 dependencies
- @babel/eslint-parser ^7.16.5 development
- @babel/plugin-syntax-jsx ^7.16.7 development
- @babel/preset-react ^7.16.7 development
- @iteam/eslint-config-react ^0.3.2 development
- @svgr/webpack ^6.2.0 development
- @testing-library/jest-dom ^5.16.1 development
- @testing-library/react ^12.1.2 development
- @testing-library/user-event 13.5.0 development
- @types/d3-path ^3.0.0 development
- @types/node 17.0.8 development
- @types/react 17.0.38 development
- @types/react-mailchimp-subscribe ^2.1.1 development
- @typescript-eslint/eslint-plugin ^5.9.0 development
- @typescript-eslint/parser ^5.9.0 development
- @vitejs/plugin-react 1.2.0 development
- eslint ^7.32.0 development
- eslint-config-next 12.0.7 development
- eslint-config-prettier ^8.3.0 development
- eslint-plugin-import ^2.25.4 development
- eslint-plugin-jsx-a11y ^6.5.1 development
- eslint-plugin-react ^7.28.0 development
- eslint-plugin-react-hooks ^4.3.0 development
- eslint-plugin-testing-library ^5.0.3 development
- prettier ^2.5.1 development
- typescript ^4.5.4 development
- vitest 0.7.12 development
- @danmarshall/deckgl-typings ^4.9.13
- @deck.gl/layers ^8.6.6
- @types/styled-components ^5.1.19
- @types/wikidata-sdk ^6.1.0
- axios ^0.25.0
- babel-plugin-polyfill-regenerator ^0.3.1
- babel-plugin-styled-components ^2.0.2
- bezier ^0.1.0
- bezier-curve ^1.0.0
- chart.js ^3.7.1
- csv-parse ^5.0.4
- d3-path ^3.0.1
- deck.gl ^8.6.6
- html-entities ^2.3.2
- jotai ^1.5.3
- md5 ^2.3.0
- next 12.0.7
- nextjs-progressbar ^0.0.14
- react 17.0.2
- react-chartjs-2 ^4.0.1
- react-cookie-consent ^7.4.1
- react-dom 17.0.2
- react-mailchimp-subscribe ^2.1.3
- react-map-gl ^6.1.19
- react-spring ^9.4.2
- styled-components ^5.3.3
- actions/checkout v3 composite
- actions/setup-node v3 composite
- bahmutov/npm-install v1 composite
- styfle/cancel-workflow-action 0.9.1 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- bahmutov/npm-install v1 composite
- styfle/cancel-workflow-action 0.9.1 composite
- numpy *
- pandas *
- node 21-alpine3.18 build
Score: 8.620832226175724