Professional Documents
Culture Documents
_____________________________________________
Capstone Proposal
______________________________________________
In Partial Fulfillment
Bachelor of Science
in
Computer Science
______________________________________________
Summer 2022
2
Executive Summary
monitoring various types of metering devices. The Open Energy Dashboard (OED) provides a
tool for users of any skill level to access and display current and historical data from their
metering system or related equipment. A primary goal of the project is to produce a product that
is simple to use, reduces implementation complexities, and lowers the overall cost of operating
and maintaining a metering system. OED aims to accomplish its goals by implementing a simple
and intuitive dashboard that interfaces effortlessly with equipment and is easily configurable, yet
remains portable and implementable across many organizations. OED was designed with reliable
open-source software that is constantly maintained, ensuring the dashboard will have a long life
As utility costs rise and become more of a financial burden on businesses and
communities, access to information about how we use our resources becomes increasingly
important to consumers. The ability to understand, visualize, and evaluate how and when we use
resources is crucial. Monitoring resource usage is important not only for saving money, but for
preserving the limited resources we have available. With OED, any organization with the ability
to monitor energy usage can have a reliable means of displaying and manipulating these data in
We are in a time where reducing energy usage, no matter the amount, is more important
than ever. Having an easy and cost-free way to monitor energy usage data in order to reduce it
businesses looking to raise their bottom line by cutting costs, regardless of reason the end result
3
is a lower carbon footprint. As the perspective of how we consume our resources continues to
change, this tool, with its low cost and easy implementation, has the potential to increase in
prospective value to society. While it is likely that organizations with large utility costs will
comprise the majority of interest in this project, anyone can take advantage of the project’s
Table of Contents
Page
Executive Summary................................................................................................................. 2
Introduction/Background......................................................................................................... 5
Environmental Scan................................................................................................................. 10
Stakeholders............................................................................................................................. 12
Ethical Considerations............................................................................................................. 12
Legal Considerations............................................................................................................... 14
Timeline................................................................................................................................... 16
Milestones................................................................................................................................ 18
Resources................................................................................................................................. 19
Final Deliverables.................................................................................................................... 20
References............................................................................................................................... 22
5
PART I
Introduction/Background
As utility costs rise, and become more of a financial burden on businesses and
communities, access to information about how we use our resources becomes increasingly
important to consumers. The ability to understand, visualize, and evaluate how and when we use
resources is crucial. Monitoring resource usage is important not only for saving money, but for
preserving the limited resources we have available. Southern California utility provider, San
Diego Gas & Electric (SDG&E), has recently come under some scrutiny for its new rate
increases approved by the California Public Utilities Commission (2022, San Diego Union
Tribune Editorial Board). As a result, local news teams interviewed many San Diego residents
across the county. A recurring response from residents was that the rate hikes not only imposed a
significant impact to their financial bottom line, but they would also have to start monitoring
their use of electricity. Residents would now have to find tools or use SDG&E’s data analysis
tools to help ensure that their bill was kept within a budget or did not incur additional charges.
While others sought to seek alternative sources for power, such as point of use solar systems, and
other renewable energy sources, each approach concluded that they would need to monitor their
usage of energy. What tools would be available to these residents? And how much would it cost
The Open Energy Dashboard (OED) is a free, open source project that provides a
web-based application to display energy information in a web browser. It was designed from the
ground up to be portable so that it can be used at many organizations. OED is driven by the
needs of its end users where their goal is to take care of the underlying technologies so that its
users can more easily do their important work. OED seeks to provide the ability for anyone to
6
have a tool to monitor their energy consumption at no cost to the user. A fundamental goal of the
project is that the system works for all types of systems. Anyone interested in tracking their
power consumption can use Open Energy Dashboard to track, visualize and report historical and
real-time energy consumption. They can then use that data to monitor their energy consumption
and use that information to make better decisions about how they use their energy. This can lead
Issue in Technology
allows for the business to visualize their data. With regards to energy usage, dashboards have
allowed organizations not only to visualize their data but monitor it to better understand their
efficiency. Existing energy dashboards are generally not portable, have limited functionality,
target a single organization, or are not free. Some energy dashboards even cost over $110
(Pricing).
Solution
Energy dashboards as they are now have very little flexibility across many spectrums,
some of which were mentioned in the previous section. Remedying the flexibility issue will cost
any organization a significant amount of time and money, which is not ideal. The simplest
method for solving the issue of cost is to create an energy dashboard through open source, as it is
free. As for portability and functionality, deploying the dashboard through a container removes
the need for installing and maintaining dependencies, and making it accessible through a browser
instead of an application allows for most machines to run it with ease. Lastly, to avoid the
7
targeting of single organizations, the application can be designed to allow the acquisition of data
from different sources and be built around feedback from users of all backgrounds.
Evidence
This project is needed by a number of people and organizations for several reasons. OED
is filling a gap in energy dashboard options by creating an application that meets several criteria
not achieved by other similar applications. The most essential difference that OED brings to the
table is the fact that it is free and open source. A quick google search for other energy dashboards
will present numerous options for paid software, usually through a subscription, including
Datapine, Bold BI, and Automated Logic. The fact that OED is free shows that this project is
being developed in the best interest of its users and since it is open source, it is able to constantly
be improved by people who are truly passionate about the project. OED is also focusing on
portability, an aspect that is not commonly met by other energy dashboards. While similar
software often requires a standalone application to be installed, OED can be accessed from a
browser on almost any device. Lastly, the ease of use element that this project aims to achieve is
a necessity as it enables even those with minimal technological experience to operate the
application. All of these factors combined prove this project to be extremely useful and capable
Open Energy Dashboard is a free, open source project that provides a web-based
application to display energy information in a web browser. Our goal is to make a meaningful
contribution to this open source project that aligns with what the project intends to deliver. We
hope to aid in expanding to many local communities and enhancing their energy information by
8
providing them with a graphical representation of the data they collect, as well as obtaining raw
data from the end user such as electrical usage or water consumption from meters. Our objectives
are smaller contributions to the overall goal of the project as the app has already been in
development for some years, so we will be building upon the existing application with
improvements and bug fixes. There will be the opportunity to both work on new features as well
as work through some technical debt which the project has incurred over the years, such as fixing
GOALS
● Users will be able to determine the type of graphical representation of their data:
○ Line
○ Bar
○ Compare Data
○ Map Data
○ Admin
● User will have the ability to integrate OED onto their websites
○ End users might want to have a link on their websites to let the public easily see
● Ability to work on any reasonable device from a cell phone to large monitors
● Admin pages, so that non-IT person can get the site running
● The ability to collect data from Obvius AcquiSuite, which can collect data from many
meter types.
OBJECTIVES
Our objective for this project is to further assist our client (OED) to enhance the
● Code reviews
○ Translation of strings: Client wants all strings shown to the user to honor the
○ Make improvements to the feature that allows users to export their data.
○ Client states that there are several modals that are formatted differently for
different pages of the site, this needs to be streamlined so they all use the same
● Coding functions to apply logic to what is displayed in drop down menus depending on
input
○ Client states that some logic is needed to determine what is displayed in drop
down menus, for example, depending on energy type selected, the unit of
10
measurements to choose from should be limited to units that apply to that type of
energy.
● Miscellaneous tasks for team members who are keen on these topics
Environmental Scan
There are many applications out there that offer management and overseeing capabilities
for information based on energy. For example, there is a company called Vitality that develops a
product that does just that. Vitality provides various options for different aspects that the end user
might want to manage, such as an energy dashboard for quick and easy access to different
measurable energy metrics. They also offer emission tracking to monitor the rates of emissions
based on energy consumption. Another interesting service they provide is anomaly detection.
This allows any user to oversee all measured energy fields from one location. Not only that, but
it also provides a way for users to be notified when one field is either over or underperforming.
Unfortunately, Vitality and its services are specially tailored for its own site. This makes
portability a challenge as not every smart phone, laptop, or desktop is capable of running it.
Lastly, all of the management systems that they offer are paid services. This makes it difficult for
companies with tight budgets to manage and control their energy information. Thankfully, Open
So what makes OED different from the rest of its competitors? Instead of creating an
application designed for a single organization, they are developing one that is suited for a wider
range of users. This means that not only do all end users have access to the same services, but
11
they can tailor the dashboards to their specific needs. With portability being an issue in most
other companies, OED runs in a container that is accessed via browser. This means that anyone
with a device that is connected to the internet can access their dashboard. This approach helps in
a number of ways because one of the biggest issues to tackle is ease of access. Furthermore, one
of the biggest reasons why OED is so different from its competitors, is that it is completely free.
OED achieves this by being an open source project. This means that anyone who desires to is
able to aid in project development and contribute to it in numerous ways, be it pitching a new
feature idea specifically suited for their needs, or helping to refine and speed up data transfer.
Open Energy Dashboard truly is the next step forward for energy information
management. With their main goal being to provide the best service to its end users, the lifespan
of this energy management system will forever grow. In fact, prior development of OED has
already come from the free contributions of several groups, and the largest number of
contributions have actually come from students. This is especially important for students because
it provides valuable experience for them as they get to work on a real large-scale project. In
conclusion, OED is the next step forward for energy information management and serves as a
PART II
Stakeholders
The stakeholders of this project are those in need of an application to monitor their
energy usage within their facilities. This can include organizations, such as schools and
businesses, or individuals, such as homeowners. These stakeholders will benefit through access
to free technology that will help them better manage their energy needs and costs. Through OED,
users will gain the valuable resource of easily being able to track their energy usage and manage
their data going forward .The project is designed to be easy for the end user to manage without a
technical expert, so there should not be an ongoing cost to maintain the technical aspects of the
project. The startup cost is the main hurdle. Though it is technically free, there is a nontrivial
startup cost for equipment, setup, and maintenance. Also, the cost of human resources like time
and money for setting up, and what they lose if the project does not work out.
The stakeholders and the entire project do stand to lose if we do not deliver on our
portion of the project. If we don’t work out resource generalization, the timeline will be pushed
back and we will have to release later and users will have access to features that will save them
time and money. If we deliver on our end, it can be released on schedule and the users will have
Ethical Considerations
Due to the nature of our project, there are not many major ethical concerns for us to
worry about. However, being open source does open our project to the common ethical issues
that open source projects tend to deal with. We must deal with the skepticism of misleading
people about the longevity of the project. Since we are a not-for-profit organization, we do not
13
have board members, shareholders, or any profit-seeking owners to answer to. This could raise
concerns about if the project will always be maintained. Indeed, there are less hurdles to
overcome for an open source project than to simply pull the plug and walk away. This can be
compounded with the concern that we are taking users from actual businesses. While that is not
bad in and of itself, it could spell disaster for users that decide to depend on open source
software, only to get the rug pulled out from under them and be left with a stack that depends on
software that is no longer maintained. Still, even with working and maintained software, we must
In its current state, the project is somewhat unfriendly to non-English speakers. In fact,
that is one of the stories that is assigned to our group to tackle. Nonetheless, it is a current issue.
Furthermore, OED is not very accessible to those that are disabled. Dashboards are heavily
reliant on visuals and displaying data in a browser. This puts people with visual impairments at a
It is true that the project does not exist without fault. It can be challenging to solve the
issue of trust that comes with being an open source project. It is very likely that the only solution
is to continue to provide services and expand the reaches of our organization. Given a large
enough user base, an established and well communicated update history, and working and easily
available software, we hope to mitigate the concerns of project longevity and maintenance. Our
project being unavailable to non-English speakers will also continually be solved over time as we
add more languages. The issue of difficulty of use due to disabilities, however, is more difficult
to tackle. There have already been ideas of possible solutions such as making graphs tonal in
nature, or even converting them into braille so that those with visual impairments may also use
the software. However, given the organization’s current state these solutions will be challenging
14
to implement. As of now, websites are already run through a checker that flags things like images
without alternative text or bad page layout making things difficult to read. Also, the color palette
used in graphs is currently separated into groups and meters, with meters being separated by
steps in hex codes to make them as distinguishable as possible. In fact, UC Davis has gone even
further to make colors readable to the visually impaired on their own dashboard. Still, the
In the end, OED would consider making changes if we were certain which changes could
be made. Being a small organization that is primarily reliant on student submissions, we do not
have a team dedicated to solving these kinds of issues. Though future updates for added
functionality have been planned, we still rely on user data and suggestions to know where the
Legal Considerations
OED is an open project that accepts ideas and contributions from everyone. The project is
protected under Mozilla Public License Version 2.0, which is a copyleft license. MPL is designed
to encourage contributors to share their code and still allow them to combine their work with
code under other licenses (open or proprietary) with minimal restrictions. MLP requires users to
disclose their changes to the source code, but requires sharing of a narrower set of code. If an
author reworks any of the original files, they have to release those updates when distributing the
code and license them under the MPL. In addition to the requirement that developers disclose
updates to the original project’s source code, users must also include the original copyright
notice. In addition, the MPL obligates users to state that the code is under the MPL license and
The MPL also includes what is known as a "patent claims" clause - section 1.11 - which
is designed to discourage patent infringement claims. These clauses essentially act to punish a
company for bringing a patent claim against another company. In the case of the MPL, the patent
peace provision is extremely broad. Under the MPL, if a user files a patent infringement lawsuit
against the "Initial Developer" or a "Contributor" (both are defined terms in the MPL) for "any
software, hardware, or device," the license to use and distribute the MPL code granted by such
Lastly, for those wanting to make a profit off of the software they’ve created, there are
certain restrictions in place. A lot of these restrictions depend on the license itself. For example,
if someone were to sell a product that uses our project’s code, they would have to inform the
buyer that our version is available for free. Also, if a contributor wants to make a profit off the
code they’ve created, then they must make it publicly available. OED lies in the middle ground
and doesn’t require its contributors to make all of their code available to the public.
16
PART III
Project Scope
Timeline
June 20 - July 3
● Install Docker & Visual Studio code with required extensions for remote container
development.
● Explore the applications current state and architecture, plan approaches for upgrades.
● Take time to fully understand the code from the Unit page so it can be used as a template.
● Make sure that we are comfortable with the code, comment if need be.
July 4 - July 18
● Review the Unit page for completeness and full functionality, update React and Redux to
● Refactor or scrap and rebuild the conversion and meter pages using the Unit page as a
○ It may be possible to refactor the incomplete conversion and meter pages, but it is
likely that the pages may need to be re-developed from scratch for the sake of
consistency.
17
● Development work will likely continue until the last two weeks. If we finish early, we
can spend extra time updating how React hooks are used, or synchronizing the meter
July 18 - July 31
● Create a final pull request for OED manager review and acceptance before merging code
Milestones
The major steps of the process toward completing the proposed project are outlined in
Figure 3.
Resources
The resources needed for this project include a PC for development, open source software
such as Visual Studio Code and Docker, and access to Open Energy Dashboard GitHub
repository.
OED will rely on dozens of packages, both directly and indirectly, as well as several
The project frontend will utilize TypeScript, Promises, React, Redux, and Plotly. Our
backend will rely on JavaScript, Promises, pg-promise interface, and PostgreSQL. Testing will
used to generate data charts. Database management will be handled using PostgreSQL. Our
JavaScript runtime environment will rely on Node.js. Additional software and packages will
include, but is not limited to, Express, Moment, React-intl, Webpack, and Lodash. Other
packages may be added, utilized, or updated as needed throughout the duration of this project.
In this project, our team will be building on top of code generated previously by other
contributors. This introduces many potential risks and dependencies, including ones that may
arise as we complete new tasks. In order to take an effective approach to these possibilities, it is
important that our team works hard to understand the code upon which we are building.
Due to the nature of our project, it is possible that some dependencies may arise from
incomplete code at the very beginning of our contribution. It is essential that we establish a solid
20
footing during this time by understanding what needs to be done. Then, we can begin to
Open Energy Dashboard is in a unique position when it comes to testing the usability of
the service. Being open source means that any contributor, with access to GitHub, is able to help
test the product. Our testing process will primarily consist of using the product as is. Though
there may be standard testing procedures like implementing unit and integration tests, it is likely
that we will simply implement a change and test it manually. Furthermore, the features that we
will be working on will be tested primarily within our group. The company lead and other
individuals will also perform tests as well once our changes are committed to our branch and a
Final Deliverables
Our final deliverables have already been clearly established. We are to modernize the use
of React/Redux on the unit page, and make any other desired changes so that it may be used as a
template. Then, we must refactor or recreate the Conversion and Meter pages so that the
functionality and design matches the Unit page. We are also to ensure that the pages are visually
consistent with each other. If we have more time, we will attempt to fix the state communication
between React and Redux for the user and admin menus, and also update the pages to use the
21
modern style of React coding. In the event that we do not complete our primary deliverables in
time, we must ensure that our code and progress is well documented so that the next group may
Approach/Methodology
due to the fact that it is both an open source project and a project with high turnover rate due to
the majority of contributions coming from students. Students who contribute to the project
usually do so for approximately eight weeks. After that, a new set of students will take their
place with little to no prior knowledge of the project, meaning that the development momentum
will be halted as the newcomers must learn the project from scratch. However, the project
manager makes an effort to assign ideal timeframes for getting specific tasks done. These
timeframes can be thought of as two-week sprints, which is similar to Agile even though we are
References
https://www.wattics.com/dashboard/
https://www.datapine.com/dashboard-examples-and-templates/energy
https://www.automatedlogic.com/en/products/energy-reports-platform/energy-dashboards
Handy, S. (2022, May 17). SDG&E proposes double-digit rate hike in 2024. CBS8.
https://www.cbs8.com/article/money/amped/sdge-proposes-double-digit-rate-hike-startin
g-in-2024/509-8517a16d-88d9-42ac-a307-a0b18062c7fa
Mozilla Public License Version 2.0 (n.d.). Mozilla Public License, version 2.0. Retrieved June 1,
https://www.energyprint.com/pricing/
San Diego Union Tribune Editorial Board. (2022, June 9). Opinion: SDG&E wants a rate
increase while 1 in 4 customers can't pay their bills now. Absurd. San Diego Union
Tribune.
23
https://www.sandiegouniontribune.com/opinion/editorials/story/2022-06-09/opinion-sdge
-rate-case-increase-gas-electric
Sinha, S. & Taparia, S. (2013, August 28). 9 key attributes of energy dashboards and analytics
tools. Greenbiz.
https://www.greenbiz.com/article/9-key-attributes-energy-dashboards-and-analytics-tools
What’s new in energy rates and who sets them? (2022). SDG&E.
https://www.sdge.com/rates/why-did-my-energy-bill-recently-go