Giter Club home page Giter Club logo

shelter-assist's Introduction

Shelter Assist

Be sure to edit this file as things change…

Current mental model and direction of development:

Anyone caring for an Animal is a Foster. Fosters must have a Home. Animals must have a Home.

An Animal will move from one Home to another and that may change their Foster.

That means that members of an organization who are administrators, are Fosters. They may have a shelter where an animal is housed, which is the animal's Home. Or those administrators may be housing an animal at their actual house, which will still be the animal's Home.

Members of an organization who volunteer to help with transporting animals from one place to another, would also be a Foster. And whatever locations are used for transporting to and from should be recorded as Homes with a Foster associated to each one.

People outside of the organization can signup to become a Foster where the system should record their information and create:

  1. their Foster record
  2. their Home record
  3. their Application to become a Foster.

When an Adoption event occurs, the Animal may change Fosters and/or Homes but would no longer have a Need for Adoption.

Animal Needs

The system should enable admins to manage the Needs of 1 or more Animals. An Animal may need to move from one Home to another quickly. Multiple animals may need to move from one Home to another by a certain date. The system should help admins make decsions about what Fosters are available and appropriate (e.g. barring exclusions) for the Animal(s) Needs.

Exclusions

Fosters may have Exclusions that would prevent them from being a Foster. Recording these exclusions could be automatic and/or could be manually assigned by an admin.

Homes may have Exclusions that would prevent them from housing an Animal. Recording these exclusions could be automatic and/or could be manually assigned by an admin.

Foster Communication

Different Fosters respond to the needs of an organization differently. Some work well with SMS, others with email, still others work best with phone calls. The system should help admins or Fosters themselves manage this.

The system should provide a way to send a message about Animal Needs to a group of Fosters in the manner most appropriate to the Foster.

Each Foster should have an admin (or other role) primary point of contact with whom the Foster would have a good relationship.

Likely to change…

Fosters currently have a boolean admin column. It's likely this should instead become some way of managing a "role".

Records like Foster and Application will likely need a way of tracking status (approved, rejected, etc.).

Multitenancy should be added ASAP. There are currently 2 organizations looking to use this software.

Set up

  • git clone
  • rvm install 3.0.2
  • bundle install

Optional ASDF-VM Support

Note: a .tool-versions file exists which contains the current supported ruby version

  • asdf plugin-add ruby
  • asdf install

Running the app

rails s

shelter-assist's People

Contributors

alitopal89 avatar chriszimmerman avatar dependabot[bot] avatar freestylebit avatar ibulmer avatar jon1735 avatar saturnflyer avatar thestephenmarshall avatar wadewinningham avatar webbkyr 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.