Mobile App project2

evelynn
project02info.docx

DMST 102 - Project 02 - 30 pts total

Goal: Create a mobile app similar to the one below that lets you navigate different views of your favorite movies.

General Requirements:

1. Place individual screen code, the drawer code, and the movie data in separate files.

2. Submit the entire project as a zip file.

Step 1: Movie data maps (3pts total)

Goal: Create your movie 'database'

Gather information on at least 6 of your own favorite movies. (useful source: https://www.themoviedb.org/)

Requirements:

1. Create a list collection of at least 6 maps where each map represents a single movie. Each map should contain the following information:

a. movie title

b. poster image URL

c. year the movie was released

d. main actor's full name

e. main actor's image URL

f. movie's popularity score

2. Either choose movies with six different release dates, or change the release dates so they are all different.

3. Similar to #2, assign popularity scores that represent at least a 20 point range of high to low scores.

Step 2: Assign routes (3pts total)

Goal: Assign the routes that your app will use to navigate between screens

Requirements:

1. Create four routes that will provide navigation to the following screens: home, actor, year, top

Tip for theming:

Maps placed in a separate file are a great way to share common style elements that you may need throughout your app. eg:

List textStyles = {

"title": TextStyle(your style settings),

"subtitle": TextStyle(your style settings)

}

Usage:

Text("Some text", style: textStyles['title']);

Step 3: Create a drawer (4pts total)

Goal: Create a mechanism to navigate between screens

Requirements:

1. Create a drawer with a header and a number of list tiles to match your routes.

a. Select icons of your choice.

Step 4: Create the main screen (5pts total)

Goal: Create a screen that lists your movies in alphabetical order

Requirements:

1. Modify the Widget structure from homework 5 to create a single movie block.

a. See the homework code file in the BB Presentation Code folder labeled Kitchen Sink.

b. Assign margins or padding as needed to add whitespace between rows and text.

2. The movie title should be a larger font size (your choice) and bold.

3. Display the release date in italics preceded by the label: "Release Date".

4. Display the score in italics preceded by the label: "Score:". Append a '%' to the number.

5. Sort the movie data alphabetically by title.

6. Use a for-loop to generate the full list of movies.

Step 5: Create the actor screen (5pts total)

Goal: Create a screen that lists your movies in alphabetical order by actor

Requirements:

1. Use the same Widget structure and styles as Step 4.

2. The actor's name should be the same larger font size as the title in Step 4.

3. Display the movie title in italics preceded by the label: "Movie:".

4. Display the release date in italics preceded by the label: "Release Date:".

5. Sort the movie data alphabetically by actor.

6. Use a for-loop to generate the list of movies.

Step 6: Create the year screen (5pts total)

Goal: Create a screen that lists your movies in descending order by year

Requirements:

1. Use the same Widget structure from Step 4.

2. The movie title should be the same larger font size as the title in Step 4.

3. Display the release date in italics preceded by the label: "Release Date".

4. Display the score in italics preceded by the label: "Score:". Append a '%' to the number.

5. Sort the movie data in descending order by year.

6. Use a for-loop to generate the list of movies.

Step 7: Create the top-rated screen (5pts total)

Goal: Create a screen that lists the top-rated movies.

Requirements:

1. Use the same Widget structure from Step 4.

2. The movie title and rating should be the same larger font size as the title in Step 4.

3. Concatenate and display the rating and movie title as shown.

4. Display the release date in italics preceded by the label: "Release Date:".

5. Filter the movie data by the top movies by score.

a. Select a cut-off value of your choice, just make sure some of the movies are left out.

6. Sort the movie data in descending order by score.

7. Use a for-loop to generate the list of movies.

1

of 3