This is a paired project used in Turing School's Backend Program Module 2.
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
- Project must use Rails 7.0.x, Ruby 3.2.2, 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
pry, simplecov, capybara, rspec-rails, shoulda-matchers, faker, factory_bot_rails, orderly, launchy
- Pre-approved gems are
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 the internet, and your GitHub Projects board.
This project is a brownfield project, meaning that it was not created from scratch but was inherited by us and we built on top of a legacy code base. When we recieved the repo we were able to deploy(see Additional Documentation below for deployment link) with working functionality of the Pets, Shelters, Vetrinarians, and Veterinary Offices sections of the site. We were tasked with creating a Pet Adoption Platform for this existing site. We wanted Users to be able to apply to adopt pets, and Admins would be able to approve or reject applications, as well as see statistics for the Shelters, Pets, and Applications.
The Database has a many to many relationship in how the tables interrelate. So Shelters can have many pets, pets can belong to many applications, but only through the pet applications table.
- rspec-rails
- ruby
- pry
- capybara
- shoulda-matchers
- simplecov
- orderly
- deployed on heroku