The Low Impact Website
Reduces data transfer by up to 70% in comparison to our regular website.
https://github.com/Organic-Basics/ob-low-impact-website
Category: Consumption
Sub Category: Computation and Communication
Keywords
climate co2 nuxtjs shopify sustainability
Last synced: about 18 hours ago
JSON representation
Repository metadata
The Low Impact version of the Organic Basics website
- Host: GitHub
- URL: https://github.com/Organic-Basics/ob-low-impact-website
- Owner: Organic-Basics
- License: other
- Created: 2020-05-04T15:30:49.000Z (almost 5 years ago)
- Default Branch: develop
- Last Pushed: 2023-01-26T23:41:40.000Z (about 2 years ago)
- Last Synced: 2025-04-17T21:21:13.563Z (9 days ago)
- Topics: climate, co2, nuxtjs, shopify, sustainability
- Language: Vue
- Homepage: https://lowimpact.organicbasics.com
- Size: 2.64 MB
- Stars: 228
- Watchers: 15
- Forks: 14
- Open Issues: 17
- Releases: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
README.md
The Low Impact Website by Organic Basics
The internet is dirty. Data transfer requires electricity, which creates carbon emissions — and this leads to climate change. The Low Impact website reduces data transfer by up to 70% in comparison to our regular website.
Low Impact Manifesto
To build this website, we wrote down 10 rules for how to make a low impact website. We share these openly, so you can use it in your own project.
A low impact website:
1. Does not load any images before they are actively requested by the user.
2. Minimizes the power consumption on the users device.
3. Adapts to reflect the amount of renewable energy it’s currently running on.
4. Informs the user of the impact of their browsing behavior.
5. Does not make use of videos.
6. Stores data locally on the user’s device to minimize data transfer.
7. Compresses all data to the greatest extent possible.
8. Loads only the most crucial programming scripts, frameworks and cookies.
9. Limits the amount of light emitted by the screen.
10. Optimizes and limits the use of custom fonts.
Setup
The Low Impact Website uses Shopify's Storefront API to fetch products and basic ecommerce functionality.
It uses the Nuxt.js framework.
Installation
To get started, you first need to install Yarn, and then run yarn install
.
Environment variables
Shopify
To setup your environment variables, you should copy the .env.example
file and rename it .env
.
Then you must fill it out with your own Shopify setup.
Organic Basics uses 4 different production Shopify shops and 1 for development, so we have defined 5 Apollo clients in nuxt.config.js
: eur, gbp, usd, dkk and dev.
These 5 different configs are used to navigate between different currencies, and thus Shopify shops.
This happens via the _locale
part of the Nuxt routing, e.g. https://lowimpact.organicbasics.com/eur.
You might not need 5 different shops, and so you must adapt the nuxt.config.js
and .env
files.
Contentful
We also use Contentful to display some content on the product pages. To fetch this, you must fill in .contentful.json
with your own values.
Usage
To start the development server at localhost:3000
, run yarn dev
.
To build for production, run yarn build
.
To launch the server and the production build, run yarn start
For a more detailed explanation on how things work, check out Nuxt.js docs.
Disclaimer
The Low Impact Website code is highly customized to the Organic Basics' website setup, and will more than likely not easily transfer to your setup.
Thus the main outcomes of making this code available to the public will likely be in sharing learnings and techniques, instead of providing a plug-and-play solution for low impact websites. But if you want to make such a thing, let us know!
Support
Organic Basics does not currently have the resources to provide any support to help you setup this project.
If you find any bugs, issues or similar, please create an issue on this Github repository.
License
The Low Impact Website code is released under the Climate Strike License.
GitHub Events
Total
- Watch event: 3
- Fork event: 1
Last Year
- Watch event: 3
- Fork event: 1
Committers metadata
Last synced: 5 days ago
Total Commits: 231
Total Committers: 3
Avg Commits per committer: 77.0
Development Distribution Score (DDS): 0.385
Commits in past year: 0
Committers in past year: 0
Avg Commits per committer in past year: 0.0
Development Distribution Score (DDS) in past year: 0.0
Name | Commits | |
---|---|---|
Jesper Fogh | f****f@g****m | 142 |
Petya Kazakova | p****a@g****m | 69 |
Henderson Pinto | h****e@g****m | 20 |
Committer domains:
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 7
Total pull requests: 30
Average time to close issues: about 2 months
Average time to close pull requests: 25 days
Total issue authors: 6
Total pull request authors: 6
Average comments per issue: 1.43
Average comments per pull request: 0.07
Merged pull request: 13
Bot issues: 0
Bot pull requests: 13
Past year issues: 0
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: 0
Past year pull request authors: 0
Past year average comments per issue: 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
Top Issue Authors
- CHEWX (2)
- yamiteru (1)
- KasperAndersson (1)
- jonorthwash (1)
- aschrijver (1)
- weepy (1)
Top Pull Request Authors
- dependabot[bot] (13)
- Hendersonpinto (11)
- ada-ada-ada-art (3)
- mohitboricha (1)
- petyakazakova (1)
- ghost (1)
Top Issue Labels
Top Pull Request Labels
- dependencies (13)
Dependencies
- @nuxt/typescript-build ^1.0.0 development
- @nuxtjs/eslint-config-typescript ^1.0.0 development
- @nuxtjs/eslint-module ^1.0.0 development
- @tgwf/co2 ^0.6.1 development
- babel-eslint ^10.0.1 development
- eslint ^6.1.0 development
- eslint-plugin-nuxt >=0.4.2 development
- node-sass ^4.14.0 development
- nodemon ^1.18.9 development
- puppeteer ^3.0.2 development
- sass-loader ^8.0.2 development
- @nuxtjs/apollo ^4.0.0-rc19
- @nuxtjs/axios ^5.3.6
- @nuxtjs/dotenv ^1.4.0
- @nuxtjs/pwa ^3.0.0-0
- @nuxtjs/svg ^0.1.11
- @types/swiper ^5.3.1
- contentful ^7.14.4
- core-js 2
- cross-env ^5.2.0
- fastify ^2.14.1
- graphql-tag ^2.10.3
- nuxt ^2.0.0
- nuxt-ssr-cache ^1.5.2
- swiper ^5.4.2
- vue-awesome-swiper ^4.1.1
- 1620 dependencies
Score: 6.599870499212837