Giter Site home page Giter Site logo

wacii / cliff-effects Goto Github PK

View Code? Open in Web Editor NEW

This project forked from codeforboston/cliff-effects

0.0 2.0 0.0 26.4 MB

Cliff effects guidance prototype

Home Page: https://codeforboston.github.io/cliff-effects/#/

License: MIT License

HTML 0.44% JavaScript 96.90% CSS 2.66%

cliff-effects's Introduction

cliff-effects TravisCI CodeCov

Cliff effect: You're a person on government benefits, and you get a raise. You're making more money! But now that your income is higher, you don't make the cutoff for some of those benefits. Your benefits drop and some go away completely. Even though you're earning more money, you're taking home less in all and your situation is worse. You've fallen off "the cliff."

The combination of circumstances and interactions between benefits that creates a cliff are complex, tangled, and buried deep in regulatory language. Case managers handle their clients' problems on the ground. They're not responsible for navigating regulations and don't have the time/resources to translate those policies into models.

The Cliff Effects webapp prototypes a tool to help case managers make quantifiable predictions about how their clients' changes in income could affect their benefits.

Status

If you want to see a very broad overview of the code flow and some thoughts for next steps, see our Overview wiki page.

We currently have a ReactJS frontend prototype and have gone through two iterations of beta testing with informative and promising results.

We are working on:

  • Users: We will continue to engage with our users as we develop further.
  • Infrastructure and testing: Strengthening the code we have to make it more robust and maintainable.
  • Regulations: Validate benefit logic with with people familiar with regulation language and create a process for adding new benefits.
  • Translation: Implementing a translation system for non-English readers.

How Can I Contribute?

  1. Familiarize yourself with the frontend.
  2. Decide whether you want to work on - benefit calculations, code quality, data visualization, user experience, or project management.
  3. If you plan to develop code, set up your environment.

We use GitHub Issues to organize our work. Here's some quick reading about how to use issues, and here's the Cliff Effects issues board.

Environment Setup

To follow these instructions, it'd help if you:

  • have mentally prepared for experimentation and learning and/or
  • know how to open your terminal/command prompt
  • know a bit about how to navigate to different folders in your terminal
  • know a bit about installing software for your terminal, like nodejs

Instructions:

  1. If you're new to github look at How to: fork a repo. Otherwise, fork and clone the repo, creating a link (remote branch) to the Code for Boston repo.
  2. In your termainal/command prompt, do git checkout dev. Do not touch the master branch.
  3. If you have nodejs, version 10.13.0 is desired. If you don't, install it. If you don't know, do node --version in your terminal/command prompt. If you don't get a number, you don't have it. You can also install NVM and run nvm use in your terminal to use the correct version (you may have to nvm install if you don't currently have the correct version installed).
  4. In your command prompt/terminal, do npm install. This might take a few minutes. Now you'll be able to try out the current UI or play with the code!
  5. Do npm start in terminal to automatically open a new browser tab and see a local version of the site. Works best in Chrome.
  6. npm bug workaround: please run git checkout . after any instances of running npm install. This is to circumvent a bug affecting the integrity of the package-lock.json file.
  7. Saved changes will automatically be reflected in-browser. If you don't see the changes, refresh the page. If nothing has changed, ask for help!
  8. When you're done, press ctrl + c to stop the local server that you have running. Or leave it running forever!

To get yourself set up to keep up to date with the latest changes to the dev branch, make sure you've gone through Step 3 of the github guide. To keep your branches from getting tangled as you both make changes and keep up to date with our repo, take a look at our wiki page about a possible Github workflow.

If you're interested in more in-depth debugging, we also recommend getting the React Developer Tools extension for Chrome.

If you have questions, feel free to ask.

Testing

We use React-Scripts test command (which wraps the Jest test framework) to run our automated test suite.

To run our test suite, run npm run test. That will run any tests that have changed since the last commit, and boot up an interactive testing session. The interactive session will prompt you with instructions, but the most important commands are a to run all tests, and q to quit the interactive session.

For information on how to write new tests, please refer to the React-Scripts documentation on the subject.

Resources

React

We're building the project with React. The app was set up with the Create React App CLI.

Git

Aren't familiar with Git? Spend ~15 minutes learning with this interactive Git tutorial. Don't use -f or --force with branches that you have used to create a pull request.

More familiar with git, but not as familiar with collaboration? See a possible Github workflow that could help keep things from getting messy.

cliff-effects's People

Contributors

2001zhaozhao avatar adanaher avatar bertch avatar butterwell avatar caitlinvinci avatar donblair30 avatar dylanesque avatar ethanbb avatar ethanstrominger avatar hmtranae avatar jlangevin avatar johnschoeman avatar knod avatar lianilychee avatar manickyoj avatar michaeldimmitt avatar migueldcepeda avatar misspran avatar nicklee100 avatar pporfilio avatar sashamaryl avatar scapp281 avatar shp54 avatar skudbucket avatar snyderc avatar thescribe83 avatar turnerhayes avatar valeriekenyon avatar wacii avatar willmcintosh avatar

Watchers

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