GithubHelp home page GithubHelp logo

vcsep-coding-challenge's Introduction

VCSEP Coding Challenge

Overview

One of the tasks of the Data Scientist role at the VCSEP (beside building interesting open source tools and R packages!) will be to maintain and expand the existing R Shiny web app the partnership uses to share insight.

In this repository we have built a small toy Shiny app (contained within app.R). The purpose of the app is to allow a user to a select a Local Authority District in England and view the associated Indices of Multiple Deprivation IMD scores for that district. The app has three main components: (i) a map of English Local Authority Districts; (ii) a select box with a list of English Local Authority Districts; (iii) a table showing the IMD scores for the selected districts:

Currently, the app allows a user to click a Local Authority District on the map (i.e., a blue polygon), and the table updates to reflect the IMD scores for that district. The select box does nothing (yet!).

The Challenge

Your task is to fix two bugs in the app and implement a new feature:

  • Bug one: The app fails to run. shiny::runApp("app.R") returns an error to the R console.
  • Bug two: Once the app is running, the IMD table on the right (see screenshot above) does not display.
  • Feature: Connect the select box at the top of the page to the IMD table. The expected behaviour is that the user can select a Local Authority District from the map or the select box, and the IMD table should update. The user should be able to flick between the map and the select box without having to restart the app. Note: you will need to use Shiny's reactive programming model to implement this feature.

Submission

  1. Fork this repository
  2. Implement the bug fixes and feature request listed above
  3. Submit a pull request no later than 12:00pm GMT on 27th August 2021

FAQ

Where can I learn more about Shiny's reactive programming model?

Chapters 3 & 13-16 of Mastering Shiny are a good resource on this topic.

Can I rebuild this app in Python?

No. While we do use Python alongside R, the existing code base for the Insight platform is built in R, and it is a requirement for the role that you are able to maintain this. This does not mean future analyses cannot be written in Python (or your language of choice).

vcsep-coding-challenge's People

Contributors

matthewgthomas avatar mikejohnpage 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.