CS 340 Milestone One Guidelines and Rubric
Overview: For this assignment, you will implement the fundamental operations of create, read, update, and delete (CRUD) in either Python or Java. You will use the language-specific MongoDB driver to create CRUD functional access to your document collection.
At this point in the course, you will need to select the programming language you would like to use. (You may choose whichever language you prefer, but considering the opportunities in your program, we do recommend Python.) Keep in mind that you must use your chosen programming language for the remainder of the course (Milestone Two and the final project) because your assignments will build on each other starting with this milestone.
Reminders
Prior to completing the prompt for this assignment, run the following code in your chosen language.
Example Python Code to Insert a Document
import json from bson import json_util from pymongo import MongoClient
connection = MongoClient('localhost', 27017) db = connection['myDB'] collection = db['myCollection']
def insert_document(document):
try: result=collection.save(document) except ValidationError as ve: abort(400, str(ve)) return result
def main():
myDocument = { "keyName" : "test value data"}
print insert_document(myDocument)
main()
---------------------------------------
Example Java Code
To run with Maven, first create a project:
mvn archetype:generate -DgroupId=com.snhu.app -DartifactId=example-app -DarchetypeArtifactId=maven-archetype- quickstart -DinteractiveMode=false
Then use the following text for the pom.xml file:
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 com.snhu.app example-app jar 1.0-SNAPSHOT example-app http://maven.apache.org
org.mongodb mongo-java-driver 2.13.3
junit junit 3.8.1 test
org.apache.maven.plugins maven-assembly-plugin 2.4
jar-with-dependencies
assemble-all package
single
org.apache.maven.plugins maven-jar-plugin
true fully.qualified.MainClass
Use the following code for the example-app/src/main/java/com/snhu/app/App.java file:
package com.snhu.app;
import com.mongodb.BasicDBObject; import com.mongodb.BulkWriteOperation; import com.mongodb.BulkWriteResult; import com.mongodb.Cursor; import com.mongodb.DB; import com.mongodb.DBCollection;
import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.MongoClient; import com.mongodb.ParallelScanOptions; import com.mongodb.ServerAddress;
import java.util.List; import java.util.Set; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.lang.ClassNotFoundException; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException;
import static java.util.concurrent.TimeUnit.SECONDS;
public class App {
public static void create_document(BasicDBObject doc) {
try {
MongoClient mongoClient = new MongoClient( "localhost" ); DB db = mongoClient.getDB( "myDB" ); DBCollection coll = db.getCollection("myCollection"); coll.insert(doc); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } }
public static void main( String[] args ) {
BasicDBObject doc = new BasicDBObject("keyName", "test value data”);
create_document(doc);
} }
Prompt: After completing the textbook reading for this module and reviewing the other resources, use the Codio editor and your choice of Python or Java to complete the following tasks in Codio. For each task, provide a text file (either a .java or .py file) of your code and screenshots of execution as evidence.
gracefully.
gracefully.
be set of key/value pairs in the data type acceptable to the MongoDB driver insert API call. b. return -> result in JSON format if successful else MongoDB returned error message 4. Develop a function to delete a document in the MongoDB database “city” in the collection “inspections.” Be sure it can handle error conditions
gracefully.
Specifically, the following must be addressed in your submission:
Rubric
Guidelines for Submission: You must submit two files for this assignment:
Critical Elements Proficient (100%) Needs Improvement (75%) Not Evident (0%) Value Create Function Develops function to create a document
in chosen programming language that both compiles successfully and contains required functionality
Develops function to create a document in chosen programming language that may compile successfully but does not contain required functionality
Does not develop function to create a document
25
Read Function Develops function to read a document
in chosen programming language that both compiles successfully and contains required functionality
Develops function to read a document in chosen programming language that may compile successfully but does not contain required functionality
Does not develop function to read a document
25
Update Function Develops function to update a
document in chosen programming language that both compiles successfully and contains required functionality
Develops function to update a document in chosen programming language that may compile successfully but does not contain required functionality
Does not develop function to update a document
25
Delete Function Develops function to delete a
document in chosen programming language that both compiles successfully and contains required functionality
Develops function to delete a document in chosen programming language that may compile successfully but does not contain required functionality
Does not develop function to delete a document
25
Total 100%
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of