GithubHelp home page GithubHelp logo

margdaly / adopt_dont_shop Goto Github PK

View Code? Open in Web Editor NEW

This project forked from turingschool-examples/adopt_dont_shop

0.0 0.0 0.0 401 KB

Pet Adoption Platform built with MVC and CRUD functionality

JavaScript 2.32% Ruby 86.78% CSS 0.55% HTML 10.36%

adopt_dont_shop's Introduction

Adopt, don't Shop

This is a paired project used in Turing School's Backend Program Module 2.

Contributors

Margaret Daly LinkedIn Profile
Reilly Miller LinkedIn Profile

DTR

Our DTR for this Project

Learning Goals

In this project, students will build upon the code in this repo to create a Pet Adoption Platform. Users will be able to apply to adopt pets, and Admins will be able to approve or reject applications and see statistics for the Shelters, Pets, and Applications in the system.

  • Build out CRUD functionality for a many to many relationship
  • Use ActiveRecord to write queries that join multiple tables of data together
  • Use MVC to organize code effectively, limiting the amount of logic included in views and controllers
  • Validate models and handle sad paths for invalid data input
  • Use flash messages to give feedback to the user
  • Use partials in views
  • Use within blocks in tests
  • Track user stories using GitHub Projects
  • Deploy your application to the internet

Requirements

  • Project must use Rails 5.2.x, Ruby 2.7.4, and PostgreSQL
  • Use of resources on this project is not permitted
  • Use of scaffolding on this project is not permitted
  • Students wanting to use any extra gems on this project must first get permission from your instructors
    • Pre-approved gems are capybara, pry, faker, factorybot, orderly, simplecov, shoulda-matchers, launchy

Project Phases

  1. Set Up
  2. User Stories
  3. Evaluation

Check In

This project will have one Check In. During your Check In, you should be prepared to review your database schema for the many to many relationship, your deployment to Heroku, and your GitHub Projects board.

adopt_dont_shop's People

Contributors

abdulredd avatar brianzanti avatar cjsim89 avatar dcoleman21 avatar jamisonordway avatar margdaly avatar mikedao avatar pkseverance avatar rmiller220 avatar

adopt_dont_shop's Issues

Add a Pet to an Application #user_story_5

[ ] done

  1. Add a Pet to an Application

As a visitor
When I visit an application's show page
And I search for a Pet by name
And I see the names Pets that match my search
Then next to each Pet's name I see a button to "Adopt this Pet"
When I click one of these buttons
Then I am taken back to the application show page
And I see the Pet I want to adopt listed on this application

Starting an Application #user_story_2

[ ] done

  1. Starting an Application

As a visitor
When I visit the pet index page
Then I see a link to "Start an Application"
When I click this link
Then I am taken to the new application page where I see a form
When I fill in this form with my:

  • Name
  • Street Address
  • City
  • State
  • Zip Code
  • Description of why I would make a good home
    And I click submit
    Then I am taken to the new application's show page
    And I see my Name, address information, and description of why I would make a good home
    And I see an indicator that this application is "In Progress"

Searching for Pets for an Application #user_story_4

[ ] done

  1. Searching for Pets for an Application

As a visitor
When I visit an application's show page
And that application has not been submitted,
Then I see a section on the page to "Add a Pet to this Application"
In that section I see an input where I can search for Pets by name
When I fill in this field with a Pet's name
And I click submit,
Then I am taken back to the application show page
And under the search bar I see any Pet whose name matches my search

pet_applicants :status

Add tests to model for validating pet_applicant status default: 'Pending'
add validates presences of status to pet_applicant.rb

Partial Matches for Pet Names #user_story_8

[ ] done

  1. Partial Matches for Pet Names

As a visitor
When I visit an application show page
And I search for Pets by name
Then I see any pet whose name PARTIALLY matches my search
For example, if I search for "fluff", my search would match pets with names "fluffy", "fluff", and "mr. fluff"

Starting an Application, Form not Completed #user_story 3

[ ] done

  1. Starting an Application, Form not Completed

As a visitor
When I visit the new application page
And I fail to fill in any of the form fields
And I click submit
Then I am taken back to the new applications page
And I see a message that I must fill in those fields.

Submit an Application #user_story_6

[ ] done

  1. Submit an Application

As a visitor
When I visit an application's show page
And I have added one or more pets to the application
Then I see a section to submit my application
And in that section I see an input to enter why I would make a good owner for these pet(s)
When I fill in that input
And I click a button to submit this application
Then I am taken back to the application's show page
And I see an indicator that the application is "Pending"
And I see all the pets that I want to adopt
And I do not see a section to add more pets to this application

Application Show Page #user_story_1

As a visitor
When I visit an applications show page
Then I can see the following:

  • Name of the Applicant
  • Full Address of the Applicant including street address, city, state, and zip code
  • Description of why the applicant says they'd be a good home for this pet(s)
  • names of all pets that this application is for (all names of pets should be links to their show page)
  • The Application's status, either "In Progress", "Pending", "Accepted", or "Rejected"

No Pets on an Application #user_story_7

[ ] done

  1. No Pets on an Application

As a visitor
When I visit an application's show page
And I have not added any pets to the application
Then I do not see a section to submit my application

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.