You are tasked with designing and building a REST API with basic user authentication (not oAuth).
The REST API should allow basic CRUD operations for dogs (create, read, update, delete). Only authenticated users should be able to create, update, and delete dogs; whereas any user should be able to view/read a dog(s). Users should be able to search for dogs via a partial (or complete) term -- how you choose to implement this is entirely up to you.