kilowatts-io / kilowatts-grid

Open source live power market data for Great Britain

Home Page:https://gb.kilowatts.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

kilowatts open source, live balancing market app

This first-of-its kind, open source React Native app (for web and ios/android) provides live, second-by-second information on the output of different generators on the UK grid.

Mobile Apps

Android Beta iOS Beta iOS Appstore

Website

Link

Deployment Status: Netlify Status

React Native

iOS

Unit/E2E Javascript Testing

Tests can either be run:

  1. yarn test - on a unit basis -- TBC
  2. yarn e2e - on an end to end basis -- TBC

Local Development

In order to run the app locally, create a .env file with the environment variable EXPO_PUBLIC_CDN_DOMAIN_NAME=gridcdn.kilowatts.io - this informs react where to look for backend data.

Building for Devices

The app is built locally using Expo (this could be moved to expo CI/CD). Build will not work without access to a working Expo account and/or signing credentials, you can set these up following the docs here https://docs.expo.dev/build/introduction/.

Note that if using a different Expo account, the configuration in app.json will need updating.

On iOS, the build targets internal distribution, so devices must be enrolled to the account using eas device:create or manually using UDID.

A production release without developer tools is built.

  1. yarn build:android. This outputs to outputs/prod.apk. You can run this on a connected usb device using yarn android:device
  2. yarn build:ios. This outputs to outputs/prod.ipa.
  3. yarn build:cloud. This builds in the cloud using eas instead.

Data Attribution

All data in this app is sourced from the wonderful Elexon insights API https://bmrs.elexon.co.uk/api-documentation. Many thanks to the awesome team there for their continued hard work.

About

Open source live power market data for Great Britain

https://gb.kilowatts.io

License:MIT License


Languages

Language:TypeScript 57.0%Language:Python 33.7%Language:HTML 3.4%Language:Java 2.3%Language:JavaScript 1.8%Language:Ruby 0.9%Language:Objective-C++ 0.7%Language:Objective-C 0.1%Language:Swift 0.0%Language:C 0.0%