Question: Create a project in your jetbrain's IDE for your language of choice. Be sure to include your name in your project name (for example jsantoreJobsProject

  1. Create a project in your jetbrain's IDE for your language of choice. Be sure to include your name in your project name (for example jsantoreJobsProject would be a fine name for me to use for this project. I have 70+ students doing some variation of this project and so I'll have a lot of problems with dozens of "project1" projects.

  2. Add the project to git using either the built in jetbrains tools or command line git

  3. share the project on github using either the built in jetbrains tools or command line git. Be sure to include any build files that I need.

  4. Add the appropriate github actions script to your github project, be sure to include a test runner and a linter.

  • for example if you are using python you would use https://github.com/shinjitsu/introJavaFromPython/new/master?filename=.github%2Fworkflows%2Fpythonapp.yml&workflow_template=pythonapp The linter flake8 and the test runner pytest are already setup for you (if you want to use a formatter like python-black instead of a linter that is fine too)
  • for example if you are using java you would start with https://github.com/shinjitsu/introJavaFromPython/new/master?filename=.github%2Fworkflows%2Fgradle.yml&workflow_template=gradle
  • You will still need to add the test runner and linter, you will likely need to adjust the default jdk from java 8 (1.8) to java 11. See https://github.com/actions/setup-java andperhaps https://github.com/marketplace/actions/google-java-format (unlike python java have at least three widely used formatting guides)
  • For Go programming language you could use the built in https://github.com/shinjitsu/introJavaFromPython/new/master?filename=.github%2Fworkflows%2Fgo.yml&workflow_template=go
  • for other languages choose your best version to start with https://github.com/shinjitsu/introJavaFromPython/actions/new
  1. Register for an API key to get government data: https://api.data.gov/signup/

  2. write a program which will (in at least three methods/functions so you can test properly)

  • use your API key to get college data, see this site: https://github.com/RTICWDT/open-data-maker/blob/master/API.md for documentation

  • you can find the possible field names for data in https://collegescorecard.ed.gov/assets/CollegeScorecardDataDictionary.xlsx

  • get the data for all universities with degrees of type 2 and 3

  • get the following fields at least:

    • school.name

    • school.city

    • 2018.student.size

    • 2017.student.size

    • 2017.earnings.3_yrs_after_completion.overall_count_over_poverty_line

    • 2016.repayment.3_yr_repayment.overall

  • MAKE SURE YOU get all the pages of data by default it comes in 20 at a time. You need all 3000+ entries

  • Be sure to git commit and git push often so you dont lose anything to a dead laptop.

  1. For this first sprint, just save the data to a file

  2. Be Sure to use the secrets file approach so you dont commit your api-key to github and push your project

  3. Write a readme.md for your project in the github project (you can do it with your jetbrains IDE if you like)

    1. the readme should have

      1. your name

      2. any install and run directions I need beyond the basics.

      3. a brief description of what your project does

      4. a brief description of what is missing from the project (if anything)

  1. Use the same project that you used last time. I will just do a git pull on the project and get the updates.

  2. Get the excel file for wage and job data by state. Either get the local copy that I downloaded here. Or get the original online, you want the state by state data. The most recent data is from May 2019, it seems to come out each May and I'm guessing they didn't post it last year because the Covid effects would be too much of an issue - either that or it take a really long time to get the data out.
  3. Create at least one more table in your database with state by state employment data (be able to store the data from step 4 below)
  4. Get the following data from the excel sheet and store it in your database
    1. for each state (I don't care if you include territories or not) get every major employment category and record (as a DB row)
      1. the state
      2. the occupation major title
      3. the total employment in that field in that state
      4. the 25th percentile salary (lets assume that most college grads earn in the lower 25%) for that field both hourly and annual
      5. the total employment in that state for that field oops typo, It should be the Occupation code instead
  5. Write automated tests
    1. write tests to assure your method to read from the xlsx file works properly
      1. eg, make sure you get data from all 50 states from the original data
      2. maybe create a test xlsx with a limited number of major occupational groups along with some other stuff. make sure you get the right number of major occupational groups
    2. write a test to make sure the new table is there
    3. write a test to make sure the old table is still there if test is still not there from previous sprint
    4. write a test to make sure that your new write to table works (unless you found a way to make the old write to table work and the old test covers it all.
  6. make sure your DevOps stuff all works (tests are run on github and formatting checks still work)
  7. update your readme and requirements (or equivalent go.mod or gradle or whatever you need for your language.)
  8. commit and push often so you lose nothing if your computer dies.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!