Skip to content

MyMovies is a movie search and collection app. This app allows users to not only browse and search the movie database but create collections of movies. Movie collections allow them to store their holiday favorites or superhero movies and share with other users, or to get recommendations based on their collections.

Notifications You must be signed in to change notification settings

CodePathiOSGroup4/MyMovies

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MyMovies

Table of Contents

  1. Overview
  2. Product Spec
  3. Wireframes
  4. Schema
  5. Sprint progress

Overview

Description

MyMovies is a movie search and collection app. This app allows users to not only browse and search the movie database but create collections of movies. Movie collections allow them to store their holiday favorites or superhero movies and share with other users, or to get recommendations based on their collections.

App Evaluation

  • Category: Movies
  • Mobile: iOS
  • Story: This app would be awesome for our peers as they can keep track of movies and make lists of movies to show friends.
  • Market: Almost everyone watches movies making the market anyone in the world who enjoys watching movies and sharing what they watch.
  • Habit: Users will use this a lot as people are always watching movies and a user creates collections.
  • Scope: This scope allows for something that is probable to build within the timeframe, but also has optional stories if finished too quickly. We will add additional recommendation system if time permits.

Demo video

A demo video for the app is available here.

Product Spec

1. User Stories (Required and Optional)

Required Must-have Stories

  • User can register new account and sign in
  • User stays logged in across app restarts
  • User can browse movies and search by name
    • User can browse movies in feed
    • User can search using search bar
  • User can create new collections and add movies in
    • User can create a new collection
    • User can add movies in existing collection
  • User can see collections they have created and modify them (remove movies, add new movies, delete collections)
    • User can see collections they have created

Optional Nice-to-have Stories

  • User can search by genre, actor name
  • User can share their collections
  • User can view others collections
  • User can get recommended collections by other users
  • User can get recommended movies by the system

2. Screen Archetypes

  • Login / Register
    • User can sign up or log into their account
  • Stream
    • User can browse top movies
    • User can search for movies by names using the search bar
    • User can view their collections
  • Detail
    • User can see movie details in browser (see above)
    • User can see details of specific collection (see above)
    • User can add a movie to a collection
    • User can delete a movie from a collection
  • Creation
    • User can create a new movie collection in collection view
    • User can create a new movie collection upon adding movie
    • User can rename an existing collection
    • User can delete an existing collection
  • Profile
    • User can see their own information and names of collections they've created
    Video Walkthrough
  • Settings
    • User can change their information
    • User can change privacy settings (whether to keep their collections private or public, etc.) SEE ABOV GIF
  • BONUS: Social
    • User can see other users' collections and movies in them

3. Navigation

Tab Navigation (Tab to Screen)

  • Movie feed
  • User collections
  • User profile

Flow Navigation (Screen to Screen)

  • Login/Register
    • → Movie feed
  • Movie Feed
    • → Movie details → User collections
  • User collections
    • → Movie feed
    • → Movie details

Wireframes

Interactive Prototype

Schema

[This section will be completed in Unit 9]

Models

User

Property Type Description
userId String Unique ID for the user
username String Unique username set by the user
password String Password set by the user
collections [CollectionObj] Array of collections created by the user

Collection

Property Type Description
name String Name of the collection
author Pointer Pointer to the user that owns the collection
movies [MovieIds] Array of movies in the collection

Movie

Property Type Description
movieId String ID of the movie
  • Not being stored in database
  • Currently being fetched from TMDB

Networking

Movie API: https://developers.themoviedb.org/3/getting-started/introduction

  • [Add list of network requests by screen ]
  • MovieFeed Screen:
    • GET request to fetch top movies
    • GET request to fetch movies based on user's queries
  • MovieDetail Screen:
    • GET request to fetch data of a specific movie
  • AddToCollection Screen:
    • GET request to get user's available collections to choose
    • PUT rquest to add a movie to a user's collection
  • Collection Screen:
    • GET request to get user's collections
    let query = PFQuery(className:"Collections")
    query.includeKeys(["name", "movies"])
    query.limit = 20
    query.order(byDescending: "createdAt")
    query.findObjectsInBackground { (collections, error) in
        if collections != nil {
            self.collections = collections!
            self.tableView.reloadData()
        }
    }
  • Profile Screen:
    • GET request to get current user's information
  • Settings
    • GET request to get current user's settings configurations
    • PUT request to update user's settings

Sprint progress

Sprint 1 & 2

Walkthrough GIF

Here's a walkthrough of implemented user stories:

(GIF is being fixed. In the meantime, direct link to GIF: https://media.giphy.com/media/Z5XJEbdbf5XWX4KDNu/giphy.gif) Video Walkthrough

About

MyMovies is a movie search and collection app. This app allows users to not only browse and search the movie database but create collections of movies. Movie collections allow them to store their holiday favorites or superhero movies and share with other users, or to get recommendations based on their collections.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •