Code Monkey home page Code Monkey logo

animal-rescue's Introduction

Pet Rescue Adoption Application

The Pet Rescue app is derived from the Baja Pet Rescue Dog Adoption Application 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.


πŸš€ Getting Started

Let's get your machine setup to startup the application!

Prerequisites

⚠️ We assume you already have ruby installed with your preferred version manager. This codebase supports rbenv and asdf.

Install & Setup

Clone the codebase

git clone [email protected]:rubyforgood/animal-rescue.git

Create a new config/application.yml file from the config/application.example.yml:

cp config/application.example.yml config/application.yml

Update your config/application.yml by replacing the places that say REPLACE_ME.

Run the setup script to prepare DB and assets

bin/setup

To run the app locally, use:

bin/dev

Accessing Roles

You can use the following login credentials to access the following roles:

Adopter

Staff

You are also able to register an account.

Subdomain Setup

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

To configure your local dev env to test subdomains, you will need to edit your /etc/hosts file

Add the following line:

This will map the two seed Orgs with the correct subdomains

πŸ§ͺ Running Tests

Run unit tests only

./bin/rails test

Run system tests only (Headless)

./bin/rails test:system

Run system tests only (Not-Headless)

CI=false ./bin/rails test:system

Note: If system tests are failing for you, try prepending the command with APP_HOST=localhost. Your host might be misconfigured.

APP_HOST=localhost ./bin/rails test:system

Run ALL tests:

./bin/rails test:all

πŸ’… Linting

We use standard for linting. It provides a command for auto-fixing errors:

rails standard:fix

πŸ”¨ Tools

This google sheets contains a list of tools, their purposes, and who has access to grant permissions.

πŸ“– About

Ruby for Good

Pet 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

Pet Rescue Adoption Sites

Baja Pet Rescue

🌟 Core Values

While 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!).

We are committed to promoting positive culture and outcomes for all, from coders and maintainers and leads to pet rescue and adoption administrators -- and animals everywhere.

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

Here are our core values defined by early contributors and leads:

Code Quality and Collaboration

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

Communication and Perspective:

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

Engagement and Practicality:

Build upon stakeholder partnerships to foster and encourage their active involvement, focusing constructive discussion and dispute resolution on the practical impact of our collective work.


πŸ“šKnowledge Base

Preparation Work (Before code)

These are just some of the documents put together before writing any code:

  • Slide deck to pitch idea to client: here
  • Figma site design: here
  • Model association diagram: here

animal-rescue's People

Contributors

aileenchoi avatar albertchae avatar amirobinsonmuto avatar arthurbragaa avatar aviflombaum avatar benjaminwols avatar calvinwalzel avatar eduardo06sp avatar edwinthinks avatar egemen-dev avatar erdostom avatar erinclaudio avatar garyhtou avatar gittavanderpol avatar heyapricot avatar jadekstewart3 avatar johnksawers avatar joshdevhub avatar kasugaijin avatar nsiwnf avatar overlandcoder avatar raspberryrat avatar robbkidd avatar seanmarcia avatar thezeeshann avatar thrillberg avatar unplugandplay avatar youssefeladawy avatar

Stargazers

 avatar

Watchers

 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.