GithubHelp home page GithubHelp logo

doytsujin / solar-ui Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gitname/solar-ui

0.0 1.0 0.0 12.26 MB

Example Web UI for a Solar Panel System Management Dashboard (built using React & Redux)

Home Page: https://gitname.github.io/solar-ui

JavaScript 93.84% CSS 3.52% HTML 2.64%

solar-ui's Introduction

Solar UI

Introduction

Solar UI is an example user interface for a dashboard a solar panel company might provide to each of its customers, which those customers could use to manage their solar panel systems.

Screenshot

Screenshot

Technologies

Solar UI was built using the following technologies:

  • React (via create-react-app)
  • Redux
  • Semantic UI
  • Chart.js
  • Moment.js
  • Fetch API
  • Jest
  • ECMAScript 2015/ES6

Features

Solar UI has the following features:

  • Data Generation: Continuously generates new solar panel input radiance values using constrained random number generation
  • Data Relationships:
    • Panel Input/Output: When a solar panel is "enabled," its output current is calculated as a function of its input radiance
    • Inverter Output: The inverter output power is calculated as a function of the output power* of all solar panels combined
  • Interactive Charts: When the visitor hovers over a data point in a chart, the chart displays a tooltip containing information about that data point
  • Interactive Table: When the visitor clicks on an "Enabled" toggle slider, the associated solar panel will become enabled or disabled (whichever is the opposite of its previous state)
  • Redux DevTools Extension-Enabled: Curious visitors can monitor the dispatching of Redux actions and examine their contents, by using the Redux DevTools Extension for Google Chrome
  • Responsive Layout:
    • Stacked Panels: On narrow screens, the various panels stack vertically
    • Mobile Menu: On narrow screens, a side navigation menu becomes available
  • REST API Utilization: Retrieves the mock username from the Reqres REST API

* Note: output power = output voltage × output current

Limitations

Solar UI has the following limitations:

  • Lack of Hyperlink Destinations: None of the hyperlinks—with one exception—point to anything. The exception is the "Fork on GitHub" button, which points to this repository on GitHub.
  • Independent "Energy Storage" Values: Although they do change over time, the values depicted in the "Energy Storage" chart are independent of any other values shown in the UI, such as the "Solar Radiance" values or the "Power Output" values.

FAQ

  1. Q: Is this thing actually connected to someone's solar panel system?
    • A: No. All the data displayed on the page is fake and is generated by the app itself, using JavaScript's Math.random() function. There is no actual solar panel system involved. You can enable and disable panels all you want.

Demo

You can explore a live version of Solar UI at the following URL:

https://gitname.github.io/solar-ui/

solar-ui's People

Contributors

gitname avatar

Watchers

 avatar

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.