Wrapping Up
Evaluation
First of all, this class has been great so far, with high levels of engagement, personal responsibility, and completed work of good quality!
You have an issue
for each individual and group assignment on GitHub. If you’ve checked all the boxes on participation and individual assignment feedback, you’ll recieve full credit (A).
Partial credit will be given in proportion to the amount of work that is complete.
If group projects have checked all the boxes, they will receive at least an A-.
Data files and ethics
- All data files will be removed from storage on https://geography.middlebury.edu as the course concludes, but the private repository will remain available for the near future.
- You are permitted to keep a copy for yourself to keep your project and code working. You are not permitted to redistribute the data to other people.
- Your group and private repositories are
private
and “owned” by the opengisci GitHub organization. In the near term, this is a free resources provided by GitHub for members with education credentials (e.g. Middlebury Faculty). It may disappear if I fail to renew credentials or if GitHub changes this free program. - Therefore, I suggest making your own local copy of your work for the long term. You may also create a public version in a GitHub repository of your own creation, so long as you give credit to Professor Alex Lyford and myself for our contributions and take care not to reveal personal data of social media users.
- You may be able to
fork
a copy of your repository to your own account, or I may need to alter the repo settings to allow that. Alternatively, clone or download the data and place the files in a new repository of your own creation & ownership. - We could make the group repositories public. Thoughts?
- If you choose to make a public version of your work from the course and any code blocks had output particular personally-identifiable details, you should suppress the output of those code blocks by adding
include=FALSE
to the code chunk options.
Bookdown
You can convert your repository into a Bookdown project by…
- install the
bookdown
package and load - create a new bookdown project
- either copy relevant content into the bookdown project, or copy the bookdown project files into the root of your directory
- set the
build
options towebsite
- make sure there are no duplicate code chunk names
- chapters start with top-level headings (one
#
hash), so use these sparingly - use the
Index.Rmd
file as your introductory chapter - individual RMD file titles and authors override the overall book title, so only use
title:
andauthor:
in the header of theIndex.Rmd
file - you can customize whether code chunks run, whether their code is shown, and whether different types of output (warnings, errors, messages, actual output) are shown with code chunk options
- customize the
_bookdown.yml
file as follows to allow .RmD files in subdirectories to be included and to allow HTML outputs (like a leaflet map) to be included.
delete_merged_file: true
output_dir: "docs"
language:
ui:
chapter_name: "Chapter "
rmd_subdir: yes
always_allow_html: true
- once all of this is set up, the project will have a
build
panel with abuild website
button. Click and go for a walk. - you might get something that looks like this: https://opengisci.github.io/dsad25_book
- With the options above, the site builds into the
docs
folder. You can turn this into a public website with GitHub Pages (see below), but if you want to do this, GitHub Pages needs to know that you’re not trying to build a Jekyll site. To do this, add an empty file named.nojekyll
into thedocs
folder.
GitHub Pages
- GitHub can serve webpages from content in your repository, stored in either the root or in the
docs
folder. - Go to Settings - Pages - Deploy from Branch and choose either root or docs
- In the
Actions
menu, you’ll see a pages build and deployment action, which will display the status of the webpage build any build errors. - The website becomes your GitHub name
.github.io/
with a directory for the repository name e.g. thedsad
repository in theopengisci
organization website becomeshttps://opengisci.github.io/dsad
Shiny.io
GitHub Pages cannot serve your Shiny App to others on the web, however. This is because the Shiny App essentially sets up a mini data server and then a webpage to read & interact with that data. For this, go to shinyapps.io. Create a free account (you can use your GitHub authentication).
Once you have an account and an access token
and secret
, you can use the rsconnect
package to publish your app to shiny.io. See instructions here
Do not save your token or secret directly in code or commit it to your repository: it would make that publicly available!
Future Courses
Course Evaluation
Code test
- Take some time to organize your project data and
README.md
index - Add a section to the
README
instructing another person how to run the data-processing code and the app. Assume that they already know R and RStudio and have those programs installed. - Of particular imporance, instruct the purson which R or Rmd files must be run to prepare the data, and in which order.
- Each group shall trade off and attempt to run the project of the next highest group, e.g. grp1 review grp2, and grp4 review grp 1.
- Through the Issues feature, give feedback in terms of any errors or uncertainties in running the app and in terms of the app and data visualizations:
- is the app intuitive and easy to use?
- do the data visualizations make sense? can you interpret them?
- is the data provided to the app sufficiently de-identified? Is it as parsimonious as possible?
- can you suggest any (reasonable) design improvements?