Crisis Cleanup is a web platform that connects disaster recovery organization volunteers with people who need help after a disaster. The Crisis Cleanup platform has been used to connected 617,620 volunteers from 1,674 organizations with 80,490 households in 46 states/provinces and 138 disasters in 7 countries; a new disaster every two weeks.
Crisis Cleanup works best in a collaborative environment where multiple voluntary organizations and agencies work together and coordinate efforts. Because these organizations do not take orders from one another, Crisis Cleanup is designed to facilitate Collaborative Accountability models of inter-agency interaction, rather than command-and-control operations, or or heirarchical accountability models of interaction.
This is the primary repository for the main Crisis Cleanup web application, a collaborative map-based coordination tool. This implementation is built upon a service-based model, designed for Google Cloud, with Python and PostgreSQL.
- 25%: Increase in volunteer efficiency through re-engagement and elimination of time spent on travel, coordination, collaboration, and management.
- 20,122: Households that could not have been helped without Crisis Cleanup.
- 4.8 Million: Number of volunteer hours facilitated.
- 1,210,000: Volunteer hours that would have otherwise been wasted in management, travel, and overhead without Crisis Cleanup.
- $525.3 Million: Minimum total market value of services to survivors.
- $850: Value of each cleanup volunteer to his/her community.
- $131.3 Million: Market value of services to survivors that would have otherwise been wasted in travel, management, overhead, and standing in lines.
- $49,461: Money Crisis Cleanup has saved survivors every single day since July 18, 2012.
- $9,610: Average commercial value of service to each homeowner.
- $179: Return on investment to survivors, for every $1 invested in Crisis Cleanup. How we calculate these statistics: http://blog.crisiscleanup.org/2017/10/how-we-calculate-value-of-services.html
- Crisis Cleanup homepage: https://www.crisiscleanup.org/
- Help & Support: https://crisiscleanup.zendesk.com/
- Demo app: https://crisiscleanup-demo.herokuapp.com/
- Blog: http://blog.crisiscleanup.org/
- Twitter: https://twitter.com/CrisisCleanup
- Facebook: https://www.facebook.com/CrisisCleanup/
- Version 1.X: https://github.com/aarontitus/crisiscleanup-legacy (Google App Engine, Python, NoSQL)
- Version 2.X: https://github.com/CrisisCleanup/crisiscleanup (Heroku, Ruby, Postgres)
We thank BrowserStack for supporting Crisis Cleanup by providing live and automated browser testing tools.
We welcome all contributors! You can also join us on our Slack channel - https://crisiscleanup.slack.com
- Node 9.0.0
- NPM 5.5.1
- YARN 1.3.2
# install dependencies
yarn install
# serve with hot reload at localhost:8080
yarn run dev
# build for production with minification
yarn run build
# build for production and view the bundle analyzer report
yarn run build --report
# run unit tests
yarn run unit
# run unit tests with watch
yarn run unit:watch
# run e2e tests
npm run e2e
# run all tests
npm test
brew install nvm
(OSX)brew install yarn
(OSX)mkdir -p ~/.nvm
- Add the following to your
~/.bash_profile
export NVM_DIR="$HOME/.nvm"
. "/usr/local/opt/nvm/nvm.sh"
- Open new terminal
nvm install 9.0.0
- Clone
[email protected]:tsanders/crisiscleanup-web.git
cd crisiscleanup3-web
yarn install
yarn run dev
(It will automatically load and launch a new browser tab)
- Ensure you have the Microsoft .NET framework 2.0 or greater installed. https://www.microsoft.com/en-us/download/details.aspx?id=55170
- Install chocolately
- Open an administrator command prompt (https://technet.microsoft.com/en-us/library/cc947813(v=ws.10).aspx)
- Install choco as administrator
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
- More info: https://chocolatey.org/install
choco install nodejs-lts -y
(requires that chocolately already been installed and configured. This will not work if node.js has already been installed in some other way.)choco install yarn --version 1.3.2 -y
(requires that chocolately already been installed and configured)choco install python2 -y
- Clone
[email protected]:tsanders/crisiscleanup-web.git
- Refresh or reopen administrative shell.
cd [PATH]/crisiscleanup-web
yarn install
If this does not work, yarn might not be able to find the Python path, or the correct .NET framework might not be installed.- If you get a persistent .NET error, and you know it's installed, try running
npm install -g windows-build-tools
, followed bynpm config set msvs_version 2015 -g
(see sass/node-sass#2074). - See https://stackoverflow.com/a/33047257. Run
get-command python
to find the path, then runnpm config set python [PATH]\python.exe
to manually set the path. Delete[PATH]/crisiscleanup-web/node_modules
, open a fresh administrative shell,cd [PATH]/crisiscleanup-web
, and tryyarn install
again.
- If you get a persistent .NET error, and you know it's installed, try running
yarn run dev
(It will automatically load and launch a new browser tab)Ctrl+c
to kill the local server when done. Note: Powershell has a bug whereCtrl+c
does not work. Try a regular administrative shell. (see https://stackoverflow.com/questions/42039231/ctrl-c-for-quitting-python-in-powershell-now-not-working)
Run the following starting in home directory (cd ~
)
sudo apt-get update
sudo apt-get install build-essential libssl-dev
curl https://raw.githubusercontent.com/creationix/nvm/v0.25.0/install.sh | bash
- Add the following to your
~/.bash_profile
:
export NVM_DIR="$HOME/.nvm"
. "$NVM_DIR/nvm.sh"
- Open a new terminal
nvm install 9.0.0
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
git clone [email protected]:tsanders/crisiscleanup-web.git
cd crisiscleanup3-web
yarn install
yarn run dev
Familiarity with these technologies will help you be a productive contributor:
- Frontend
- Solid SPA framework experience - Vue.js, React, Angular (ideally Vue.js)
- JavaScript - ES6/Node
- HTML5, CSS3, SCSS
- WebPack/Babel ecosystem
- Unit/functional testing libraries (Mocha, Chai, Karma, Nightwatch)
- Backend
- Experience with Microservice/Service Oriented Architectures
- REST APIs
- Strong Python ecosystem skills (Django, Flask, Celery, etc)
- PostgreSQL
- Neo4j
- GIS - PostGIS, OpenLayers, Google Maps API, etc.
- Strong Docker ecosystem experience
- Security experience (JWT, Authentication servers, OAuth, etc.)
- Message queueing - Redis / RabbitMQ
- DevOps
- Very strong Docker/container ecosystem skills
- Strong Unix/Linux experience
- Kubernetes / Helm
- Kong API Gateway / Nginx
- Google Cloud Platform (GCE, GKE, Load Balancer, Container Registry/Builder, Storage, etc.)