Question
The Problem It's 1993 and you're the software developer for the new Jurassic Park! Park operations needs a system to keep track of the different
The Problem It's 1993 and you're the software developer for the new Jurassic Park! Park operations needs a system to keep track of the different cages around the park and the different dinosaurs in each one. You'll need to develop a JSON formatted RESTful API to allow the builders to create new cages. It will also allow doctors and scientists the ability to edit/retrieve the statuses of dinosaurs and cages.
Requirements Please attempt to implement the following requirements: All requests should respond with the correct HTTP status codes and a response, if necessary, representing either the success or error conditions. Data should be persisted using some flavor of SQL. Each dinosaur must have a name. Each dinosaur is considered an herbivore or a carnivore, depending on its species. Carnivores can only be in a cage with other dinosaurs of the same species. Each dinosaur must have a species (See enumerated list below, feel free to add others). Herbivores cannot be in the same cage as carnivores. Use Carnivore dinosaurs like Tyrannosaurus, Velociraptor, Spinosaurus and Megalosaurus. Use Herbivores like Brachiosaurus, Stegosaurus, Ankylosaurus and Triceratops.
Further Requirements Cages have a maximum capacity for how many dinosaurs it can hold. Cages know how many dinosaurs are contained. Cages have a power status of ACTIVE or DOWN. Cages cannot be powered off if they contain dinosaurs. Dinosaurs cannot be moved into a cage that is powered down. Must be able to query a listing of dinosaurs in a specific cage. When querying dinosaurs or cages they should be filterable on their attributes (Cages on their power status and dinosaurs on species). Automated tests that ensure the business logic implemented is correct.
Technical Requirements This project should be done in Ruby on Rails 6 or newer.
Please ONLY publish the entire source code, DO NOT publish any paragraphs, instead ONLY publish the fully working source code of the entire problem.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started