Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

n this project, you will demonstrate your mastery of the following competencies: Apply database systems concepts and principles to develop a client/server application Create a

n this project, you will demonstrate your mastery of the following competencies:

  • Apply database systems concepts and principles to develop a client/server application
  • Create a database that can interface with client-side code

Scenario

You work for Global Rain, a software engineering company that specializes in custom software design and development. Your team has been assigned to work on a project for an innovative international rescue-animal training company, Grazioso Salvare. You have been made the lead developer on this project.

Grazioso Salvare identifies dogs that are good candidates for search-and-rescue training. When trained, these dogs can find and help to rescue humans or other animals, often in life-threatening conditions. To help identify dogs for training, Grazioso Salvare has reached an agreement with a nonprofit agency that operates five animal shelters in the region around Austin, Texas. This nonprofit agency will provide Grazioso Salvare with data from their shelters.

You meet with the client, Grazioso Salvare, and discover that they look for certain profiles in dogs to train. For instance, search-and-rescue training is generally more effective for dogs no more than two years old. Also, certain breeds of dogs are proficient at different types of rescue, such as water rescue, mountain or wilderness rescue, locating humans after a disaster, or finding a specific human by tracking their scent.

Grazioso Salvare is seeking a software application that can work with existing data from the animal shelters to identify and categorize available dogs. Global Rain has contracted for a full stack development of this application that will include a database and a client-facing web application dashboard. Users at Grazioso Salvare will access the database. The full stack development will be fully completed in Projects One and Two.

Grazioso Salvare has also requested that the code for this project be open source and accessible on GitHub so similar organizations may use and adapt it. They have asked that you also create a README file to accompany your work.

In Project One, you will complete the first phase of this development by creating a database in MongoDB that can interact with client-side code. You will also create an initial README file to accompany your code. In Project Two, later in this course, you will complete the second phase of development by updating the database, producing the dashboard, and updating the README file to explain the full stack development.

Directions

Database Commands and CRUD Python Module For your work on Project One, you will incorporate two previously completed milestones. First is the indexing for optimizing queries and authentication for database security, which you completed in the Module Three Milestone. Second is the CRUD (Create, Read, Update, and Delete) functionality for the animal database, which you began in the Module Four Milestone and will complete in this project.

You have been asked to create a database for the Grazioso Salvare project that can interface with client-side code. To do so, you must complete the following tasks:

  1. Upload the Austin Animal Center Outcomes data set into MongoDB by inserting a CSV file using the appropriate MongoDB import tool. The data set is located in the Supporting Materials section. Complete the import using the mongoimport tool, and take screenshots of both the import command and its execution. You will include these screenshots in your README file later. Note: If you completed the Module Three Milestone, you have already completed this step. Be sure to include your screenshots from the Module Three Milestone in your README file.
  2. Create a user account in the mongo shell to ensure user authentication to the database and collection you created. Be sure to take a screenshot of the mongo shell execution command screen that shows your login process. You will include this screenshot in your README file later. Note: If you completed the Module Three Milestone, you have already completed this step. Be sure to include your screenshots from the Module Three Milestone in your README file.
  3. Next, you must develop a Python module in a PY file, using object-oriented programming methodology, to enable CRUD functionality for the database. Other Python scripts must be able to import your Python code, so it must support code reusability. Develop a CRUD class that, when instantiated, provides the following functionality:
    • A Create method that inserts a document into a specified MongoDB database and collection
      • Input -> argument to function should be the key/value lookup pair to use with the MongoDB driver find API call.
      • Return -> True if successful insert, else False.
    • A Read method that queries for document(s) from a specified MongoDB database and specified collection
      • Input -> arguments to function should be the key/value lookup pair to use with the MongoDB driver find API call.
      • Return -> result in a list if the command is successful, else an empty list. Important: Be sure to use find() instead of find_one() when developing your method. Hint: You will have to work with the MongoDB cursor returned by the find() method.
    • An Update method that queries for and changes document(s) from a specified MongoDB database and specified collection
      • Input -> arguments to function should be the key/value lookup pair to use with the MongoDB driver Find API call. The last argument to function will be a set of key/value pairs in the data type acceptable to the MongoDB driver update_one() or update_many() API call.
      • Return -> The number of objects modified in the collection.
    • A Delete method that queries for and removes document(s) from a specified MongoDB database and specified collection
      • Input -> arguments to function should be the key/value lookup pair to use with the MongoDB driver find API call.
      • Return -> The number of objects removed from the collection.
  4. Finally, you must test your Python module to make sure it works. To do this testing, create a Python script that imports your CRUD Python module to call and test all instances of CRUD functionality. Be sure to create this script in a separate Jupyter Notebook (IPYNB) file and import and instantiate an object from your CRUD library to effect changes in MongoDB. Be sure to use the username and password for the aacuser account for authentication when instantiating the class. After creating your script, execute it in Jupyter Notebook and take screenshots of the commands and their execution. You will include these screenshots in your README file later. Note: If you completed the Module Four Milestone, you have already begun this work. Expand your script to call and test the Update and Delete functionality.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Successful Time Management

Authors: Patrick Forsyth

Chinese 1st Edition

7508679814, 978-7508679815

More Books

Students also viewed these General Management questions

Question

10. Describe the relationship between communication and power.

Answered: 1 week ago