{"id":24446364,"url":"https://github.com/rubyforgood/animal-rescue","last_synced_at":"2025-07-17T12:36:24.137Z","repository":{"id":197353161,"uuid":"698482348","full_name":"rubyforgood/animal-rescue","owner":"rubyforgood","description":null,"archived":false,"fork":false,"pushed_at":"2023-10-20T02:39:31.000Z","size":48053,"stargazers_count":2,"open_issues_count":0,"forks_count":12,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-15T09:55:23.508Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubyforgood.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-09-30T04:00:55.000Z","updated_at":"2024-12-06T04:47:38.000Z","dependencies_parsed_at":"2023-10-05T16:44:44.617Z","dependency_job_id":null,"html_url":"https://github.com/rubyforgood/animal-rescue","commit_stats":null,"previous_names":["rubyforgood/animal-rescue"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyforgood%2Fanimal-rescue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyforgood%2Fanimal-rescue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyforgood%2Fanimal-rescue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyforgood%2Fanimal-rescue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubyforgood","download_url":"https://codeload.github.com/rubyforgood/animal-rescue/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254319662,"owners_count":22051076,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-20T23:54:00.740Z","updated_at":"2025-05-15T10:14:07.879Z","avatar_url":"https://github.com/rubyforgood.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pet Rescue Adoption Application\n\nThe Pet Rescue app is derived from the [Baja Pet Rescue Dog Adoption Application](https://github.com/kasugaijin/baja-pet-rescue/tree/main) created by @kasugaijin who wanted to give back to the grassroots organization from where he adopted his dog in Mexico by building them a web application. Pet Rescue is an application that makes it easy to link adopters with pets.\n\n---\n\n# 🚀 Getting Started\n\nLet's get your machine setup to startup the application!\n\n## Prerequisites\n\n⚠️  We assume you already have ruby installed with your preferred version manager. This codebase supports [rbenv](\nhttps://github.com/rbenv/rbenv) and [asdf](https://github.com/asdf-vm/asdf-ruby).\n\n## Install \u0026 Setup\n\nClone the codebase \n```\ngit clone git@github.com:rubyforgood/animal-rescue.git\n```\n\nCreate a new `config/application.yml` file from the `config/application.example.yml`:\n```\ncp config/application.example.yml config/application.yml\n```\n\nUpdate your `config/application.yml` by replacing the places that say REPLACE_ME.\n\nRun the setup script to prepare DB and assets\n```sh\nbin/setup\n```\n\nTo run the app locally, use:\n```\nbin/dev\n```\n\n## Accessing Roles\n\nYou can use the following login credentials to access the following roles:\n\nAdopter\n- email: `adopter1@example.com`\n- password: `123456`\n\nStaff\n- email: `staff@example.com`\n- password: `123456`\n\nYou are also able to register an account.\n\n## Subdomain Setup\n\nThe app will work OK with no subdomains, but to really test out the multi-tenant capabilities, you will need to configure subdomains. Every `Organization` has a subdomain field, and that Org will be accessible via `ApplicationController#current_tenant`.\n\nTo configure your local dev env to test subdomains, you will need to [edit your `/etc/hosts` file](https://linuxize.com/post/how-to-edit-your-hosts-file/)\n\nAdd the following line:\n\nThis will map the two seed Orgs with the correct subdomains\n\n# 🧪 Running Tests\n\nRun unit tests only\n```\n./bin/rails test\n```\n\nRun system tests only (Headless)\n```\n./bin/rails test:system\n```\n\nRun system tests only (Not-Headless)\n```\nCI=false ./bin/rails test:system\n```\n\n**Note:** If system tests are failing for you, try prepending the command with `APP_HOST=localhost`. Your host might be misconfigured.\n```\nAPP_HOST=localhost ./bin/rails test:system\n```\n\nRun ALL tests:\n```\n./bin/rails test:all\n```\n\n# 💅 Linting \n\nWe use [standard](https://github.com/standardrb/standard) for linting. It provides a command for auto-fixing errors:\n\n```sh\nrails standard:fix\n```\n\n# 🔨 Tools\n\nThis [google sheets](https://docs.google.com/spreadsheets/d/1kPDeLicDu1IFkjWEXrWpwT36jtvoMVopEBiX-5L-r1A/edit?usp=sharing) contains a list of tools, their purposes, and who has access to grant permissions.\n\n# 📖 About\n\n## Ruby for Good\nPet Rescue is one of many projects initiated and run by Ruby for Good. You can find out more about Ruby for Good at https://rubyforgood.org\n\n## Pet Rescue Adoption Sites\n[Baja Pet Rescue](https://www.bajapetrescue.com)\n\n# 🌟 Core Values\nWhile vision is the destination, and strategy is how we'll get there, core values are what we'll use to handle times of change or uncertainty (both of which are expected, guaranteed to happen, and positive signs of growth!).\n\nWe are committed to promoting positive culture and outcomes for all, from coders and maintainers and leads\nto pet rescue and adoption administrators -- and animals everywhere.\n\nWe will lean on the following as guiding principles when interacting with others -- stakeholders, as well as current and future maintainers, leads, and collaborators -- and we ask that anyone engaging with this project in any capacity to do the same. Know that we do want to know how and when (not if) we can improve upon these values and/or the way in which we live by and act in accordance with them, so please comment here and in PRs when you have ideas.\n\nHere are our core values defined by early contributors and leads:\n\n### Code Quality and Collaboration\nWrite maintainable code that is accessible and enjoyable (for beginners and seasoned coders alike), supports and encourages contributors and their contributions, and ensures long-term sustainability of this project and the efforts it supports.\n\n### Communication and Perspective:\nPrioritize clear communication, embrace diverse viewpoints, and always engage feedback -- all with a commitment to timely responses and ongoing improvement for all. Rescue and adoption partner perspectives will be prioritized over abstracted conceptualization of their needs.\n\n### Engagement and Practicality:\nBuild upon stakeholder partnerships to foster and encourage their active involvement, focusing constructive discussion and dispute resolution on the practical impact of our collective work.\n\n\n---\n\n# 📚Knowledge Base\n\n## Preparation Work (Before code)\nThese are just some of the documents put together before writing any code:\n* Slide deck to pitch idea to client: [here](https://docs.google.com/presentation/d/1d4gjzADk7BcxmQEVZlesheGUen9d1E3RzrVvskMhVxo/edit?usp=sharing)\n* Figma site design: [here](https://www.figma.com/file/x3iM31l8csY7mT0VwKykhT/BPR---Wireframes---Ami?node-id=530186%3A154\u0026t=mgRlseVd2LTKPX4o-1)\n* Model association diagram: [here](https://lucid.app/lucidchart/a915c03c-3c09-454d-837b-f3d2768f5722/edit?viewport_loc=-25%2C-973%2C3565%2C2341%2C0_0\u0026invitationId=inv_85cf2967-7b33-4030-903f-9655e767cbbf)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubyforgood%2Fanimal-rescue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubyforgood%2Fanimal-rescue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubyforgood%2Fanimal-rescue/lists"}