CASA (Court Appointed Special Advocate) is a role fulfilled by a trained volunteer sworn into a county-level juvenile dependency court system to advocate on behalf of a youth in the corresponding county's foster care system. CASA is also the namesake role of the national organization, CASA, which exists to cultivate and supervise volunteers carrying out this work – with county level chapters (operating relatively independently of each other) across the country.
PG CASA (Prince George's County CASA in Maryland) seeks a volunteer management system to:
- provide volunteers with a portal for logging activity
- oversee volunteer activity
- generate reports on volunteer activity
How CASA works:
- Foster Youth (or case worker associated with Foster Youth) requests a CASA Volunteer.
- CASA chapter pairs Youth with Volunteer.
- Volunteer spends significant time getting to know and supporting the youth, including at court appearances.
- Case Supervisor oversees CASA Volunteer paired with Foster Youth and monitors, tracks, and advises on all related activities.
- At PG CASA, the minimum volunteer commitment is one year (this varies by CASA chapter, in San Francisco the minimum commitment is ~ two years). Many CASA volunteers remain in a Youth's life well beyond their youth. The lifecycle of a volunteer is very long, so there's a lot of activity for chapters to track!
Why? Many adults circulate in and out of a Foster Youth's life, but very few of them (if any) remain. CASA volunteers are by design, unpaid, unbiased, and consistent adult figures for Foster Youth who are not bound to support them by fiscal or legal requirements.
Project Terminology
- Foster Youth = CasaCase
- CASA Volunteer = Volunteer
- Case Supervisor = Case Supervisor
- CASA Administrator = Superadmin
Project Considerations
- PG CASA is operating under a very tight budget. They currently manually input volunteer data into a volunteer management software built specifically for CASA, but upgrading their account for multiple user licenses to allow volunteers to self-log activity data is beyond their budget. Hence why we are building as lightweight a solution as possible that can sustain itself on Microsoft Azure nonprofit credits for hosting (totalling $3,500 annually).
- While the scope of this platform's use is currently only for PG County CASA, we are building with a mind toward multitenancy so this platform could prospectively be used by CASA chapters across the country. We consider PG CASA an early beta tester of this platform.
More information:
Learn more about PG CASA here.
You can read the complete role description of a CASA volunteer in Prince George's County as well.
Here is our contributing guide!
https://casa-r4g-staging.herokuapp.com/
- install a ruby version manager: rvm or rbenv
- when you cd into the project diretory, let your version manager install the ruby version in
.ruby-version
gem install bundler
- Make sure that postgres is installed brew install postgres OR brew postgresql-upgrade-database (if you have an older version of postgres)
bundle install
bundle exec rails db:setup
bundle exec rails spec
rails db:create # requires running local postgres
rails db:migrate
bundle exec rails server
# run server
There is a doc
directory at the top level that includes Architectural Decision Records and entity relationship diagram of various models.
Beyond gems
for the app's dependencies, this repo also has a dependency on Graphviz
because we use rails-erd
gem and have it setup to autogenerate the ERD. Check out the gem's recommended steps to install Graphviz.
- If your rake/rake commands hang forever instead of running, try:
rails app:update:bin #
- There is currently no option for a user to sign up and create an account through the UI. This is intentional. If you want to log in, use a pre-seeded user account and its credentials.