Coder Social home page Coder Social logo

kilowatts-io / kilowatts-grid Goto Github PK

View Code? Open in Web Editor NEW
12.0 1.0 3.0 13.79 MB

Open source live power market data for Great Britain

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

License: MIT License

TypeScript 57.03% JavaScript 1.78% Ruby 0.88% Objective-C 0.08% Objective-C++ 0.69% C 0.03% Swift 0.03% Java 2.34% HTML 3.44% Python 33.70%
electricity elexon elexon-bmrs-api live national-grid react react-native renewable-energy wind-energy

kilowatts-grid's People

Contributors

benjaminwatts avatar flexbox avatar xjamundx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

kilowatts-grid's Issues

Extend E2E Tests

Extend Maestro End to End Tests to cover individual unit functionality

Add interpolated wind forecast and solar to useFuelTypeLiveQuery

Modify the query to NG ESO Api to ensure that the previous and current settlement period are retrieved

Subtract out embedded wind in the BM from the wind total prior to adding in embedded wind (to avoid double counting) - check terminology of the datasets used to ensure this is correct.

Batteries

Identify the location and bmUnit ids of battery units

Remove zero values

Remove all unit groups with an output of 0 (or that rounds to 0) in order to reduce the rendered list length

Revise Help Us card

Help us card now looks out of date
Needs to make a call for more general open source help

Create map tab

With circle markers for unit stations that are a function of current output
Slider to hide/show more markers (default top 10) generators
Display percentage of total generation displayed.

newData.length is null

Simulator Screenshot - iPhone 15 Pro Max - 2023-12-21 at 06 30 10

Consider adding logic to handle all Flatlists receiving null data - esp if previously with data

Stale Crash Issue

Identify and remove an issue that causes the app to crash if left running for a long period of time
Rewrite/replace the Expo Error Boundary component

Expo builds

Ration / remove builds from the preview branch

Implement generation mix chart

Implement pixel per minute based on window dimensions
Have current time in center
Interpolate for each minute
Use to split screen of first screen - live fuel types

Rate of change

Add rate of change to live screens
Add an arrow to the UI to flag these to the user

Refactor state management and hooks

Create separate layer of hooks for API calls
Further improve the resilience of the NG Api calls
Create a formal new layer of hooks for direct use in the application with typed outputs/results, each in a separate module with mocking/testing of dependencies on other modules (esp the external API hooks).

History Graphs

Refashion the recent history hook to create a stacked area graph of recent output for a unitgroup/powerstation

Readme.md

Fix markdown so that images are on new rows
Add new screenshots

Recent output

Add most recent level to output (in addition to future ones)

Revise app state background hook

Dismount all live screens while the app is in background state
Introduce a 1 second delay prior to rerendering on app being resumed

Embedded Query

Change embedded query to ensure that previous settlement period is returned.
At present, an error results from being unable to interpolate within the current settlement period

Unit Tests

Add unit tests for parsers to test validation logic

Schedule screen layout

Fix Scroll Issue on Schedule tab
On mobile device height of each unit schedule appears fixed

Leaflet Map

Add leaflet map (or similar) to render something on web

make consent dialog persist

add redux persist using react native async storage or similar to ensure that the consent dialog only has to be accepted once

Add app version to info dialog

Access the build version using expo updates and render within UI
Useful for debugging and responding to support requests

End to end tests

add end to end tests for each api endpoint on the rtk class for elexon

Error handling

Add and test error handling for all components that transform/render data received from the Elexon API

FuelType Filter

Add a link from the headline categories screen so that when pressing/clicking on an individual category a filtered list of e.g. wind farms appears.

Unit Names

Shorten unit names as much as possible to reduce visual clutter
E.g. remove the term "wind farm"

Create individual unit scren

Create a new tab for an individual bmUnit
This should be linked from the unit group screen
It should feature similar information to the unit group screen but for a single bm unit

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.