The Capstone Experience for the BSU Computer Science BS First (solo) Project




Recommended libraries to look at:


Project 1 Sprint 4


Summary: In this final sprint in your first project, you will use all the data that you have downloaded and display it to the users in a useful manner


Tools:

We will continue to use the same version control, continuous integration tools and programming language requirements that we put together for parts one - three.


Sprint 4: A GUI with data visualization:

You have come a fair ways in creating a project that is useful and built in parts. This last sprint will finish it up and add lots of useful features. You have more time to be self directed, but the extra time is important because you will need it.This sprint takes more time and will be worth more credit, this one sprint will be worth about two of the previous sprints

Due: Sunday March 6th  at 11:59pm (officially Spring break starts on Monday the 7th)



New Code:

Now create a GUI to allow the user  to interact with your project more naturally.


The steps below are numbered only to make it easier to read. If you find it easier to work on the deliverables in a different order please do so.


  1. When your program first starts up, with the GUI, allow the user to choose to either
    1. update the data
    2. run the data visualization
  2. When updating the data:
    1. get all of the data from earlier sprints.
  3. The data visualization
    1. let the user choose to see information about either movies or TV shows
      1. for TV display the most popular TV shows and let the user choose to sort by either ranking or by rankupdown
      2. for movies display the most popular Movies and let the user choose to sort by either ranking or by rankupdown
      3. Display the
        1. most popular movies and if the user selects one and it is one of the movies with ratings information in the database, then display that ratings information
        2. top250TV and if the user selects one and it is one of the shows with ratings information in the database, then display that ratings information
  4. the data Analysis
    1. allow the user to choose the following data for visualization
      1. build a graph showing
          • how many of the most popular movies are moving up,
          • how many of the most popular movies are moving down
          • how many of the most popular TV shows are moving up,
          • how many of the most popular TV shows are moving down
      2. show all of the top250 movies that are also in the most popular
      3. show all of the top250 TV that are also in the most popular.

NOTE: I've been very careful not to tell you how to display it, only what to display. use your creativity to show all of this information in a useful format.

Tests:

Add additional tests to your test suite. You should include tests to make sure your data analysis functions work properly (ordered data, and counts of the positive and negative movers at least.)

make sure all of the previous tests still work.

write  tests for the top250/most popular crossovers.


For the GUI, either use a tool like selenium (which you will have to learn on your own), or write a detailed manual test plan (with pictures)  to explain what should happen when your graphical elements are invoked. There is a lot of disagreement in the industry about whether automated GUI tests are worthless or vitally important.



DevOps:

as before, update any github actions with dependency management and anything else you need to make the Continuous Integration continue to function.



Recommended libraries to look at: