Tools for collecting and search volunteer information so that campaign coordinators can assemble teams.
This app is built on the Meteor platform using React for the UI layer, and Semantic UI for styling.
- npm (see Appendices below for installation)
- Meteor (can be installed at meteor.com/install)
- ElasticSearch (optional, only required for search results; see https://www.elastic.co/downloads/elasticsearch for instructions)
(If you are going to be contributing code, please see the instructions for Contributing below).
To prepare the environment, clone the repo on your local machine:
git clone https://github.com/GrassrootsSelect/VolunteerDB
Then, navigate to the VolunteerDB folder and run npm install
to add dependencies:
cd /path/to/VolunteerDB
npm install
Note: If you do not have npm installed, see the Appendices below.
This app runs on Meteor, a full-stack Javascript platform on top of node.js. If you do not have meteor installed, go to meteor.com/install.
To run the app locally, type:
meteor
Once the app is running go to your browser at http://localhost:3000
If you don't yet have any users and need to log in for testing purposes, you can create an account using the terminal. Create a new terminal window (separate from the one running Meteor), and type
meteor shell
This will bring you to the shell interface, and it gives you privileged backend access. You can then create an account and give it permissions like this:
> Accounts.createUser({email: "[email protected]", password: "my_secure_password_09ux0e9fjw03f"})
It will echo back the ID for the new user. Copy that ID and add a role (let's assume the ID is "abcde"):
> Roles.addUsersToRoles("abcde",'admin','grassrootsselect.org')
(Note: The storybook software requires npm 3 and may have other dependencies that are tricky to work out. We're working on documenting this. Please contact us in the slack channel if you're having trouble. This tool completely separate from the Meteor runtime environment and is NOT required to get the app up-and-running locally.)
All of the UI components have stories for React Storybook, a tool for browsing UI components with mock state data.
To run the Storybook:
npm run storybook
and open your browser at http://localhost:9001/
Please fork the project to your personal GitHub repo and clone it on your local machine. Then in terminal:
git pull --rebase
to catch up your local git from the main organization repo.- Push to your own repo in the
master
branch - Submit a pull request to the main organization repo
Now, lets install NodeJS. For Windows/OS X users, go here.
For Linux users, a page for installation via package manager is located here. You can also grab the source code and compile here.
npm is bundled with Node by default
For this project, you may need to upgrade to npm 3. To see which version you are running, type
npm --version
If it is below 3.0.0 and you are on OSX/Linux:
npm update npm@latest -g
If you are a Windows user, you may need to use a package called npm-windows-upgrade
to help you. Instructions for using this are below. Refer to the package repo at https://www.npmjs.com/package/npm-windows-upgrade.
npm install --global --production npm-windows-upgrade
Then run the upgrade:
npm-windows-upgrade
After you have done all of the steps above check the version again. If it is still sub 3.0, then navigate to the folder where npm installed the update:
cd %appdata%\npm\node-modules\npm-windows-upgrade
Run the update:
npm-windows-upgrade