Design and Development Project 1


Sprint 1 was here

Sprint 2 was here

Sprint 3 was here

unless otherwise specified, all of the work in the previous projects should still work.

Due: Friday March 6th at 11:59pm

Sprint 4: Visualizing data

Production program:

Display a map visualization with the jobs you have saved to your database from Sprints 2 &3.

I have purposefully not told you exactly how this should look.


Technology:


Extra credit: For those of you who got overwhelmed and/or behind in earlier sprints, this sprint will make extra credit available. This extra credit can only be applied to work that was already due. So Sprints 1-3 and the quizzes. Extra  credit is for those who have done Sprint 4.

(worth 60 points in total.) Implement some sort of geo location filter Then write at least three automated tests that test this feature with jobs that are in and out of the distance rule. I want to see all python jobs posted in the last 6 months that are less than 50 miles from Bridgewater for example  (where the brick colored text is the new extra credit part.)


This section is worth 160 points (same as sprint 1). Try out a document NoSQL database. Store all of the data you download from the APIs into a MongoDB or similar document database, write three automated tests to make sure your functions/methods work properly, and then do the DevOps work to make sure that the code and tests work properly using github actions. Finally write a one page paper detailing the differences between using squlite and this NoSQL database, explain which works better for this task and why?



Tests:

Add  more automated tests to make sure that the correct details are shown for the selected jobs

Add additional automated tests to make sure that your filters work correctly.


For grads, make sure that you are getting data from all 13 months. Make sure that you have a method which will take the fairly unstructured paragraphs and pull out the useful data. Write an automated test for this method.


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.