Grad Software Engineering Project 1.5
March 14th at 11:59pm [don't let the apparent time fool you,
you have break and your exam in this period so even though this
should (if you did a solid job on part 1) be not too
painful; don't wait]
You will get the chance to continue your odyssey in investigating apis,
reading documentation, writing a program and writing tests for the program
by extending your program. Hopefully you will get a more complete feel for
the value of automated tests.
Take your project 1 and add a feature to it. You will create a map and plot
the locations and number of job sites on the map in such a way that users
can tell if there are more jobs in that area or less than last year.
Write this program in either
- Java (target whatever version is on the university computers)
- or python (you can target any version of python 3.5+)
Some User Stories that you should satisfy.
Some additional requirements and hints.
- "As a job seeker thinking of moving I what to know where people are
- "As job seeker thinking of moving, I want to know if there is an
increasing or decreasing number of jobs in an area"
- As before, write it to be cross platform on desktop machines, Java and
Python should do that anyway, but any external libraries need to work on
- use one of the
jetbrains IDEs to do your work. We have them installed here at the
university and you can get the
full professional suite of tools for free as students so long as
you are only using them for student work
- Use the most recent "Who's hiring" for the current data, use the
previous year version of the same data to compare to see if the area has
gained or lost jobs.
- make it clear from the map drawings how many jobs are in a
particular area and if there are more than last year or less.
- Some hints to take a look at (you can of course use other approaches
so long as they work):
- Java users: Google's
Monigeo package looks easy to use.
- Python users who used mayplotlib should look at Basemap maybe
look at this tutorial
- for lat/lon have a look at geopy - the version in pypi works
painlessly even if the version on github currently has a failing
- Write additional tests for your new project. As a hint for those of
you new to automated testing, begin investigating the API you will use
for this project, by writing tests for the API
Zip your entire project directory and submit the whole thing on
Include in your zipped submission a file telling me how to run your
tests using junit/unittest/pytest which unit and functional tests show
your code to work and be error free.