rubyforgood /casa
Volunteer management system for nonprofit CASA, which serves foster youth in counties across America.
★ 383⑂ 553👁 39⑃ 5,161● 2,189▤ 15◈ 1
383
stars
+0
553
forks
39
watchers
5,161
prs
2,189
issues
15
releases
1
discussions
README
CASA Project and Organization Overview
A CASA (Court Appointed Special Advocate) is a role where a volunteer advocates on behalf of a youth in their 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.
Table of Contents
- Welcome contributors!
- Communication and Collaboration
- About this project
- Tech Stack
- Resources
- Developing!
- How to Contribute
- Installation
- Getting Started (Codespaces) 🛠️
- Local Setup Instructions
- Platform Specific Installation Instructions
- Common issues
- Running the App / Verifying Installation
- QA Environment
- Logging in with seed users
- Local email
- Running Tests
- Cleaning up before you pull request
- Frontend Architecture
- Keeping Your Local Environment Up to Date
- Contributors
- Other Documentation
- Acknowledgements
- Feedback
Welcome contributors!
We are very happy to have you! CASA and Ruby for Good are committed to welcoming new contributors of all skill levels.
Start with the contributing guide for setup, issue claiming, testing, and pull request expectations.
Find issues to work on here on the issue board. Issues on the project's TODO column are another way to browse issues. Check to see that no one is assigned to the issue. Then comment on it to claim the issue. Commenting on an issue doesn't automatically get the issue assigned so double check the comments on an issue to see that no one is requesting assignment.
Pull requests which are not for an issue but which improve the codebase are also welcome! Feel free to make GitHub issues for bugs and improvements. A maintainer will be keeping an eye on issues and PRs every day or three.
Communication and Collaboration
For Slack and Discord, see the contributor communication guide.
Check out our google calendar to see when office hours and stakeholder meetings are.
You can also open an issue or comment on an issue on GitHub and a maintainer will reply to you.
About this project
CASA is a national organization with many regional chapters. We currently work with Prince George's County CASA in Maryland, Montgomery CASA Maryland, and Howard County Maryland
This system provides value by:
- providing volunteers with a portal for logging activity
- allow supervisors to oversee volunteer activity
- generate reports on volunteer activity for admins to use in grant proposals
Read about the product sense that guides our approach to this work.
How CASA works:
- A foster youth is represented as a CASA case.
- The CASA case is assigned to a volunteer.
- The volunteer records their efforts spent on the CASA case as case contacts.
- Supervisors oversee CASA volunteers by monitoring, tracking, and advising them on CASA case activities.
- At PG CASA, theTop issues
#5589New Line Chart: WAU (Weekly Active Users) by Role36 comments · 2024-03-27#5563☂️ Replace stub `pending` specs with real tests17 comments · 2024-03-08#2781Show emancipation checklist progress for transition-aged youth on /volunteers17 comments · 2021-10-14#6454Mobile View for Admin Dashboard14 comments · 2025-07-16#3669SMS messages open in a new tab in a development environment12 comments · 2022-06-22#6505Ensure indexes present10 comments · 2025-09-13#6685Upgrade JQuery dependency to 4.x7 comments · 2026-02-03#5845Replace uses of "dropdown" with respective ViewComponent7 comments · 2024-06-19
Discussions
Latest release
2025-03-21 2025-03-21 2025-03-22What's Changed User facing changes - summary [Admins] fix timezone on the list of "Sent Emails" under Edit Organization - Court Details [All] Add real user testimonials to the main page [Volunteers, All] Improve filtering and default order of contacts on the view case contacts page [Supervisors, Admins] When creating or updating a case, there is now an option to select and unselect all contact type options, which defaults to selecting all options when creating a case. User facing changes - commit messages CaseContact validates usage and spec changes - case contact form prep by