Summary: This multi part project will provide you an chance to practice your programming skills and practice with the agile software development methodology, continuous integration, automated testing and other more industry oriented practices that we don't often use in academia.
This semester we are going to build a project for the CUBES project in the college of business here at BSU
In Sprint2 we will be saving our data into a database.
We will continue to use the same version control, continuous integration tools and programming language requirements that we put together for part one.
Due: Feb 8th at 11:59pm
(Sprint 3 will be assigned just before sprint2 is due)
(some stuff was brought forward from last time, it is highlighted in gray)
Use the same project that you used last time. I will just do a git pull on the project and get the updates.
Pragmatically setup the database if the table(s) that you need are not already there.
write a program which will, as before, with multiple methods/functions:
use your API key to get form entry data, see this site: https://wufoo.github.io/docs/#entries for documentation
name each of your database columns something useful since most of the entries are something like “Field019” or something else not very well named
Be sure to git commit and git push often so you don’t lose anything to a dead laptop.
Save
all the data to the database! - be sure that I can delete your
database and everything will still work. Also make sure I can
run the program twice without deleting the database and
everything will work.
Write two automated tests
one test should the method that retrieves the data from the web and assure that you get the right number of data items lets say more than 10 – be sure to put 10 fake entries in.
The second test should create a new empty database, run your table creation function/method, then run your save data to database method then check to see that the database contains the test entry that you just put there.
Update your Continuous Integration/devOps on github to run these tests
Update your readme.md for your project in the github project (you can do it with your jetbrains IDE if you like)
the readme should have (if everything works this should be about a half page or less)
your name
any install and run directions I need.
a brief description of what your project does
a very brief discussion of your database layout and the table(s) you used
a brief description of what is missing from the project (if anything)
Commit whenever you have some small additional part that works.
Use good commit messages which tell everyone (especially me as your supervisor or collaborator standin) what this commit does. Be sure to push after each commit so that you lose little to nothing if your computer dies.
So push early and often.
Undergraduate only Send me your api key by slack so I can test yours (I tested your program on my form for the first project, now we need to do yours.
If you want to min/max, here is the grading rubric/sheet/distribution