Code Monkey home page Code Monkey logo

new_sanctuary_asylum's Introduction

New Sanctuary Coalition

What are we building?

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.

Getting setup

System Dependencies

  • ruby (see Gemfile for version)
  • postgres

Ruby Dependencies

gem install bundler
bundle install

Database setup

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

Environment Variables

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.

Running the test suite

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.

Running the App Locally

rails server

User Roles

Admin Role (has access to everything)

  • 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:

Volunteer Role (has limited access)

  • 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:

Accompaniment Leader Role

  • 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:

How are we building it?

Gems & Libraries!

Aiming to keep our list of dependencies short, maintainable, and reliable!

Here are the big ones:

Test Coverage!

Aiming to cover the functionality we build with:

  • model tests
  • feature tests to cover the main pathways through the app

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

Contributing

  1. Contact Christine at [email protected] to request access to the Trello board (backlog) and github repo.
  2. Select a story from the Trello board: https://trello.com/b/nSt2qssz/new-sanctuary
  3. Create a feature branch off master.
  4. Complete feature with tests!
  5. Check CircleCI to make sure tests are passing.
  6. Make a pull request and tag CZagrobelny to review.
  7. CZagrobelny will leave feedback and merge into master upon approval of the pull request.

Questions?

  • 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]

new_sanctuary_asylum's People

Contributors

czagrobelny avatar rsl avatar thomascountz avatar adamesj avatar hummusonrails avatar aepyornis avatar chippy-kennedy avatar zluo16 avatar simonft avatar szeidman avatar saturn226 avatar davidmiller11 avatar jeremyparker avatar

Watchers

James Cloos 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.