/CritterFinder

Critter Finder CodePath Project

Primary LanguageJava

Critter Finder

Overview

The goal of Critter Finder is to help dogs and cats find their forever home.

The problem

7.6 Million companion animals enter shelters every year, of these 2.7 Million are adopted. Unfortunately each year another 2.7 Million Animals don't find a home and are euthanized. *Source SPCA

The app utilizes PetFinder REST API.

User Stories - Sprint 2

The following required functionality is completed:

  • All of the Sprint 1 User Stories
  • A user should be able to use a swipe mechanic to swipe through a list of pets looking for a home. Swiping right marks the pet as a favorite. Swiping left marks a pet as not a good fit.
  • A user should be able to tap on a swipe card from the pet browser view and be shown more details about the pet
  • A user should be able to mark pets she is interested in learning more about as favorites and then view her list of favorite pets
  • A user should be able to search by breed
  • A user should see a Pet's breed on the details view
  • A user should be able to see contact information about the shelter for a pet
  • A user should be able to reach out to the shelter via e-mail from the details activity
  • The information design should be complete for the swipe card view (a user should be able to see name, sex).
  • A user should be able to see multiple images of the pet from the details screen

The following optional features are implemented:

  • Allow the user to browse a gallery of pet images for the selected pet from the details screen
  • Indicate how many images are available for browsing in the image gallery using a circular view page indicator
  • Use scene transitions to animate the transition from a pet in the favorites list to the pet details screen. And from the the swipe card screen to the details screen.
  • Give the details screen a transparent action bar and load the first pet image underneath the action bar
  • Add a custom slide in from the right and out from the left animation when opening the search filter activity from the swipe card screen and back again.
  • We have an app icon!
  • First pass at a material color palette / theme
  • Don't resurface pets the user is not interested in seeing
  • A user should see a Pet's breed on the favorites view, swipe view
  • The information design should be complete for the favorites view (a user should be able to see name, age, breed).
  • The information design should be complete for the details view (a user should be able to see name, age, breed, size, description, contact info)

Sprint 2 - Video Walkthrough

Here's a walkthrough of the implemented user stories:

Video Walkthrough

User Stories - Sprint 1

The following required functionality is completed:

  • A user should be able to see a list of neary by pets available for adoption.
  • User should see a list of pets and be able to like or not like a particular pet. After taking a like/not interested action, the user should see the next pet in the list
  • From the pet browsing view, a user should be able to see a list pets marked as favorites
  • Tapping on a pet from the list of favorite pets should show the user more details about the pet.
  • User can search for a list of pets by Location, Species, Breed, Gender, Age and Size.
  • User should be able to change the search criteria and see a new list of results

The following optional features are implemented:

  • On first launch, the application uses the GPS to determine the current users location, turns that lat and longitude into a zip code and presents a set of pet results near the user. This was done as an AsyncTask.
  • User should be able to see a list of breeds for a particular animal. This list should come from PetFinder
  • User should be able to select multiple breeds, ages and sizes and see results that meet that advanced criteria

Video Walkthrough

Here's a walkthrough of the implemented user stories:

Video Walkthrough

Wireframe

Here's the wireframe of implemented user stories: Please click here to see the wireframe.

Wireframe created with pencils.

Open-source libraries used

License

Copyright 2016 Carly Baja, Scott Richards, and Scott MacGregor

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.