Application AND Documentation due Friday 4/30/21 at 8:59 pm
Chicago time and late assignments will not be accepted.
This optional
single person project is worth up to an extra 5% on your total
class grade.
This project is available to both undergraduate and graduate
students. Both have the same requirements this time.
So far we have looked at power from
a national (US) and local (Chicago) Perspective. This project
use R to visualize data on global electrical power production
in 2019, and use shiny to give people an interactive interface
to create those visualizations. Different parts of the world
tend to generate power in different ways and the application
you create here should make it easy for people to see and
explore those differences.
The data file is available from
https://datasets.wri.org/dataset/globalpowerplantdatabase
For this
assignment youcanmake
changes to the data file before you load it into R. You need to
clearly document how you modify the file on your website to the
extent that someone following your instructions could recreate
your files from the originals.
You can use any of the mapping
libraries that we have used this term for the project.
Again you
will be writing your code to run full screen in a web browser at
1920 x 1080 resolution and it should run on all current browsers
(Chrome, Safari, Firefox, Explorer, Edge, etc.).The fonts and visualization primitives you create
should be work effectively at that scale. The user should never
to scroll the window, ever, so you should experiment with
different ways to organize the information and controls to find
the most effective combinations. Users will be using a mouse /
trackpad to interact so make sure your controls are reachable
and at an appropriate size.
Your program should read in your
data file and create an interactive visualization in R and Shiny
that initially shows North America and all of the power plants
there. Remember that North America is more than the US, Canada,
and Mexico.
color each power plant by its fuel type, and have the size of
the power plant represent its capacity. The colors should be
appropriate for the map background and make it easy to
distinguish the different primary fuel types.
allow the user to click on one of the power plants on the map
and see additional data about that plant (country name, plant
name, capacity, fuel type)
allow the user to pan and zoom the map with the power plants
automatically updating quickly on the display
allow the user to select a continent from a menu of the
continents and have the app automatically pan and zoom to show
an appropriate view of that continent and its power plants
allow the user to show and hide power plants based on their
primary fuel type. Make sure that 'all' is one of the options.
allow the user to show and hide power plants based on their
minimum and maximum capacity. Make sure that 'all' is one of the
options.
have an 'about page' in your app with appropriate credits
In all of
these case you need to make sure that your visualizations are
well constructed with good color and font choices, proper
labeling, and that they effectively reveal the truth about the
data to the user.
Turning in the Project
There is only one due datefor the project.
As
with the revised Project 3 we will run this one in RStudio / a
compatible browser on the desktop, rather than on Shinyapps.io
Your code should be turned in and made available on GitHub (https://github.com/)
in a public repository for the project. You can keep the
repository private while doing your development. I would suggest
setting up the GitHub project early and regularly pushing code to
it as a backup.
It is important to note that 'getting it to
work' is just a prerequisite to using the application to find
answers to your questions. It is that usage that will give you
ideas on how to improve your app to make it easier and more
intuitive to find those things. Writing the application at the
last minute pretty much guarantees that you will not come up
with an intuitive interface.
Before the application due date&time please send an email to
andy with the URL of your GitHub site.
Again, your documentation should be part of
the web page you created at the beginning of the course.
This page should have several sections
including:
1 page worth of text on an introduction and a description
of how to use your application and the things you can do
with it.
1 page worth of text on the data you used, including where
you got it, what you did to it.
link to your project on GitHub giving access to your well
commented source code, any necessary data files, and any
instructions necessary to run it. These instructions should
start from the assumption that the reader has a web browser
on their computer and tells the user everything else he/she
needs to know and do to get it running using R studio,
including installing correct versions of all the required
software.
1 page worth of text on what interesting things you found
about the data using your application.
all of which should have plenty
of screenshots with meaningful captions. Web pages like this
can be very helpful later on in helping you build up a
portfolio of your work when you start looking for a job so
please put some effort into it.
You should also create a 5 minute YouTube video showing the
use of your application including narration with decent
audio quality. That video should be in a very obvious place
on your web page. The easiest way to create the video is to
use a screen-capture tool while interacting with your
application, though you will most likely find its useful to
do some editing afterwards to tighten the video up. If you
do decide to use your phone or tablet to make the video,
then please shoot the video in landscape rather than
portrait orientation. Your video should show the
capabilities of your tool through a set of specific examples
of interesting things you found in the data.
Once you
have your web page done, send the URL to Andy before the
deadline. We will respond to this email as your 'receipt'.