southeastmn-edu-2754 / movie-corner

0 stars 0 forks source link

User stories and class worksheet #1

Closed mswanson-mscst closed 4 years ago

mswanson-mscst commented 4 years ago

Our first job is to do some preliminary analysis. To get started, please post your user stories and class worksheet here. When they're all submitted, we'll consolidate them into a single document. We'll work on the UML in an upcoming "issue".

It's too early in the process to decide whether we'll use an available webapi such as IMDB or OMDB, but just as a starting point for brainstorming about user stories, here are a couple sample responses from IMDB. The first one is a search for a list of movies having "Harry Potter" in the title:

{ "Search":[ { "Title":"Harry Potter and the Deathly Hallows: Part 2" "Year":"2011" "imdbID":"tt1201607" "Type":"movie" "Poster":"https://m.media-amazon.com/images/M/MV5BMjIyZGU4YzUtNDkzYi00ZDRhLTljYzctYTMxMDQ4M2E0Y2YxXkEyXkFqcGdeQXVyNTIzOTk5ODM@._V1_SX300.jpg" }, { "Title":"Harry Potter and the Sorcerer's Stone" "Year":"2001" "imdbID":"tt0241527" "Type":"movie" "Poster":"https://m.media-amazon.com/images/M/MV5BNjQ3NWNlNmQtMTE5ZS00MDdmLTlkZjUtZTBlM2UxMGFiMTU3XkEyXkFqcGdeQXVyNjUwNzk3NDc@._V1_SX300.jpg" }, { "Title":"Harry Potter and the Chamber of Secrets" "Year":"2002" "imdbID":"tt0295297" ...

The second one is the response for a specific movie using the imdbID attribute:

{ "Title":"Avengers: Endgame" "Year":"2019" "Rated":"PG-13" "Released":"26 Apr 2019" "Runtime":"181 min" "Genre":"Action, Adventure, Drama, Sci-Fi" "Director":"Anthony Russo, Joe Russo" "Writer":"Christopher Markus (screenplay by), Stephen McFeely (screenplay by), Stan Lee (based on the Marvel comics by), Jack Kirby (based on the Marvel comics by), Joe Simon (Captain America created by), Jack Kirby (Captain America created by), Steve Englehart (Star-Lord created by), Steve Gan (Star-Lord created by), Bill Mantlo (Rocket Raccoon created by), Keith Giffen (Rocket Raccoon created by), Jim Starlin (Thanos, Gamora & Drax created by), Stan Lee (Groot created by), Larry Lieber (Groot created by), Jack Kirby (Groot created by), Steve Englehart (Mantis created by), Don Heck (Mantis created by)" "Actors":"Robert Downey Jr., Chris Evans, Mark Ruffalo, Chris Hemsworth" "Plot":"After the devastating events of Avengers: Infinity War (2018), the universe is in ruins. With the help of remaining allies, the Avengers assemble once more in order to reverse Thanos' actions and restore balance to the universe." "Language":"English, Japanese, Xhosa, German" "Country":"USA" "Awards":"Nominated for 1 BAFTA Film Award. Another 32 wins & 75 nominations." "Poster":"https://m.media-amazon.com/images/M/MV5BMTc5MDE2ODcwNV5BMl5BanBnXkFtZTgwMzI2NzQ2NzM@._V1_SX300.jpg" "Ratings":[ 0:{...} 1:{...} 2:{...} ] "Metascore":"78" "imdbRating":"8.5" "imdbVotes":"640,310" "imdbID":"tt4154796" "Type":"movie" "DVD":"30 Jul 2019" "BoxOffice":"N/A" "Production":"Marvel Studios" "Website":"N/A" "Response":"True" }

You can see more types of information available on IMDB by running some searches on their site: www.imdb.com. I'm pretty sure that nearly anything you see on IMDB is also accessible using RapidAPI (which I used for generating the responses above.)

jseppa-mscs commented 4 years ago

Joshua Seppa COMC 2754

Obviously this is very early on so I am sure I missed something so I am open to adding and or removing items from my user stories and conceptual classes worksheet.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Movie Corner User Stories

As a user, I want to search movies so that I can find ratings/actors for a specific title.

As a user, I want to see related movies based on what I am looking at.

As a user, I want to create an account.

As a user, I want to see other user's reviews on movies and create my own.

As a user, I want to be able to navigate the site easily.

As a user, I want to be able to create a watch list of movies/shows and be able to make it private/public.

As an administrator, I want to add/remove titles from the database.

As an administrator, I want to make sure a user has an account in order to leave reviews.

As an administrator, I want to be able to create groups of movies that are related to each other.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Movie Corner Conceptual Classes Worksheet

Business transactions:

Transaction line items:

Product or service related to a transaction:

Roles of people:

Place of transaction or service:

Noteworthy events:

Physical objects:

Descriptions of things:

Catalogs:

Containers of other things:

Things in a container:

justin-sultze-mscs commented 4 years ago

Justin Sultze

Movie Corner User Stories and Conceptual Class Worksheet

As a user, I want to create an account.

As a user, I want to search for movies and TV shows of specific genres.

As a user, I want to add movies and TV shows to my watch list.

As a user, I want to option to keep my watch list public or private.

As a user, I want to comment on and rate movies and TV shows on other users watch lists.

As a user, I want the ability to report offensive comments.

As an admin, I want the user to make an account before creating a watch list.

As an admin, I want to provide suggested movies and TV shows to the user based on their watch lists.

As an admin, I want to add, remove, and edit movies, TV shows, and users in a database.

As an admin, I want the ability to remove offensive comments from users.


Business transactions:

Transaction line items:

Product or service related to a transaction:

Roles of people: Users(User_ID, User_LName, User_FName, User_RegisterDate, User_Email) Admins(Admin_ID, Admin_LName, Admin_FName, Admin_Email)

Place of transaction or service:

Noteworthy events: User Rating(Rating_ID, User_ID) User Feedback(User_ID, Feedback_ID, Feedback_Description, Feedback_Date)

Physical objects:

Descriptions of things: Movies(Movie_ID, Genre_ID, Movie_Description) TV shows(TV_ID, Genre_ID, TV_Description)

Catalogs: Movies(Movie_ID, Movie_Title, Movie_Year, Genre_ID) TV shows(TV_ID, TV_Title, TV_Start_Date, TV_End_Date, Genre_ID)

Containers of other things: Movies(Movie_ID, Movie_Title, Movie_Year, Genre_ID) TV shows(TV_ID, TV_Title, TV_Start_Date, TV_End_Date, Genre_ID)

Things in a container: Genre(Genre_ID, Genre_Description)

ummer-siddique-mscs commented 4 years ago

Movie Corner User Stories As a user, I want to create a list of movies I want to watch i.e. watchlist. As a user, I want to keep the watchlist private or share it with other users. As a user, I want to add feedback / rating to other users public watchlist. As a user, I want to see the rating of movies from other users public watchlist. As an admin / database administrator, I want to add/delete/edit film titles and related info in the database. As an admin, I want users to get registered before creating a watchlist (for tracking purposes). As an admin, I want to add registered users to database As an admin, I want to group related movies (per specific criteria) based on users watchlist and feedback. As a user/website visitor, I can perform full or partial search. As a user/website visitor, I can search the website using different criteria including Year of Release, Film Name, Cast, Producer, Director etc.

Movie Corner Conceptual Classes Worksheet

Business transactions: User Rating (Content_ID, Content_Rating, Content_RatingDate, User_ID) User Feedback (Feedback_ID, Feedback_Comment, Feedback_Date, User_ID)

Transaction line items:

Product or service related to a transaction:

Roles of people: Registered User(User_ID, User_LastName, User_FirstName, User_RegisteredDate, User_LastLoginDate, User_Location, User_EmailAddress) Administrator (Admin_ID, Admin_LastName, Admin_FirstName, Admin_Location, Admin_EmailAddress)

Place of transaction or service:

Noteworthy events: User Rating (Content_ID, Content_Rating, Content_RatingDate, User_ID) User Feedback (Feedback_ID, Feedback_Comment, Feedback_Date, User_ID)

Physical objects:

Descriptions of things: Genre (Genre_ID, Genre_Description) User Rating (Content_ID, Content_Rating, Content_RatingDate, User_ID)

Catalogs: Movie (Movie_ID, Movie_Title, Movie_Year, Genre_ID, Content_ID)

Containers of other things: Movie (Movie_ID, Movie_Title, Movie_Year, Genre_ID, Content_ID)

Things in a container: Genre (Genre_ID, Genre_Description) User Rating (Content_ID, Content_Rating, Content_RatingDate, User_ID)

mswanson-mscst commented 4 years ago

It sounds as though we have a basic agreement on the concept, so at this point we can continue working on the user stories and class worksheets. It appears that you've all submitted these documents here in GitHub. If you need to add or change anything as a result of the our slight change of direction, go ahead and do that first. You may be able to edit your original post by clicking the ... at the right of the header. If not, you can just copy it and re-post with the new changes.

Another important addition to make to your class worksheets is to add attributes to each entity type:

Person(id, firstName, lastName, ...)

I'm hoping we can wrap this up by tomorrow (Thursday, 1/30) so we can start on the class diagram.

mswanson-mscst commented 4 years ago

The class worksheets you've all submitted have quite a few similarities, which is good. The next steps are:

  1. Each of you should create a consolidated worksheet that contains entities and attributes submitted by all of the team members.
  2. Use the consolidated worksheet to create your first draft of the UML diagram.

In this process, you may find that some required entities are missing because they weren't covered in the user stories (or for other reasons).

I'll close this "issue" and you can post snapshots of your UML diagrams in the next one: "UML class diagram". I'm hoping we can finish this step by Tuesday.

Have a great weekend!