Design and Development Project 1

Sprint 1 was found here. We are building on this, all of the previous work is expected to still work unless explicitly mentioned otherwise here.

Due: one week from assignment.

Sprint 2: A proper data store

Production Program:

Create a data base with a table/document (sqlite for undergrads, either sqlite or a nosql database for grads) for the data you have collected.

Modify your program to save the data that you downloaded in your program during sprint 1 to your database.

using good coding style, you should have a separate function that knows about the data base that is completely unaware of the web based source of the data. (take the data to be saved by the database as a parameter)

Testing:

Increase your automated testing:

Change the test from sprint1 which checked if the data was saved to the file. Instead have this test check to see if the data was saved to the database properly.

write a test to make sure that the table (or document for nosql grad students) exists in the database after your program runs

write a series of tests to make sure your function/method that saves to the database works properly. (send some data as a parameter to your function, and have it save the data to the database). Try to save some good data, try to save some bad data and make sure that this test fails (and mark it as expected to fail so that the rest of the tests continue)

write one more automated test

Devops:

Update your readme.md to include the new code. update the install and running instructions in the readme. Also, if needed, add a list of anything that is missing. 

Make sure that your automated tests and linters are running properly on all files including any new ones.

Make sure that any newly needed files are included in the github repo

Make sure that your git commit messages are reasonable.

Submission:

I will do a git pull on your previous submission to update it with your new work.


Grading:

Here is the grading sheet/rubric I will use for this second sprint