Software to support the core work of the New Sanctuary Coalition: helping our friends (undocumented immigrants) fill out applications for asylum and accompanying them to their hearings and check-ins.
- ruby (see Gemfile for version)
- postgres
gem install bundler
bundle install
Run your favorite database server in your favorite way.
Postgres.app is the best option on Mac: https://postgresapp.com
If you are not working on a Mac, I recommend running Postgres in a docker container. To run Postgres on docker, you can do the following:
docker pull postgres:9.6
docker run --name new_sanctuary -p "127.0.0.1:5432:5432" -e POSTGRES_PASSWORD=password -d postgres:9.6
To run initial migrations and seed the DB:
cp config/database.yml.sample config/database.yml
rake db:setup
FROM_ADDRESS='[email protected]'
For local development, create a '.env' file in the root directory of the application and put the environment variable in there.
rspec
CircleCI is set up for the app, and will run the full test suite when you push to github. There are still some flappy specs, unfortunately :/ ...so, if the specs pass locally, but not on CircleCI, feel free to leave a note when you create your PR.
rails server
- Can view friends, create new friend records, edit friend records, and delete friend records
- Can view users, invite users, edit users, and delete users
- Can create activities for a friend (and can edit them)
- Can create, edit, and remove asylum application drafts for a friend
- Can share friend records with specific users (In the 'Asylum' tab when editing a friend, the 'Volunteers with Access' field)
- Can view detailed information about friend activities in the current month and last month
- Can manage lawyer records, location records, and judge records
- Can create, edit, delete NSC events (ie. trainings and workshops) and can take attendance of volunteers and friends attending the event
Login as an Admin with:
- username: [email protected]
- password: Password1234
- Can receive an invitation (emailed) and follow the link to create a volunteer account
- Can view limited details about friend activities (ie. accompaniments) this week and next week
- Can RSVP to attend a friend activity (ie. accompaniment) and can edit their RSVP
- Can view friend records that have been shared with them
- Can add other users to friend records that have been shared with them
- Can create, edit, and remove asylum application drafts
Login as an Volunteeer with:
- username: [email protected]
- password: Password1234
- Can do everything a volunteer can do
- Can view contact information about friends and volunteers involved in accompaniments
- Can create report for accompaniments they attend
Login as an Volunteeer with:
- username: [email protected]
- password: Password1234
Aiming to keep our list of dependencies short, maintainable, and reliable!
Here are the big ones:
- Bootstrap: http://getbootstrap.com
- Chosen: https://github.com/harvesthq/chosen (nice, searchable dropdowns)
- Will Paginate: https://github.com/mislav/will_paginate
- Textacular: https://github.com/textacular/textacular
Aiming to cover the functionality we build with:
- model tests
- feature tests to cover the main pathways through the app
We have a staging app here with seed data: https://frozen-sea-20640.herokuapp.com The data is refeshed occassionally, but activities/accompaniments are likely to be out of date.
- Contact Christine at [email protected] to request access to the Trello board (backlog) and github repo.
- Select a story from the Trello board: https://trello.com/b/nSt2qssz/new-sanctuary
- Create a feature branch off master.
- Complete feature with tests!
- Check CircleCI to make sure tests are passing.
- Make a pull request and tag CZagrobelny to review.
- CZagrobelny will leave feedback and merge into master upon approval of the pull request.
- Questions about a Trello card, leave a comment tagging '@Christine Zagrobelny'
- Questions about a PR, tag CZagrobelny in a comment on the PR
- Other questions, email [email protected]