-
Notifications
You must be signed in to change notification settings - Fork 1
TEST
Instructions to Test
URLS:
Local Environment: http://localhost:3000
Heroku url for client: https://pickflick-movieapp.herokuapp.com
Heroku url server: https://desolate-retreat-56126.herokuapp.com
Please check Anonymous user first although session management is working properly but after Heroku deployment causing some issue or may be test anonymous user in incognito mode
Create Users based on the roles to browse Pick Flick:
- Click on the 'Sign Up!' link on the homepage.
- A Fan user can be created by selecting 'Fan' role from drop-down list on registration page.
- On successful login, a pop-up appears and user is navigated to login page.
- To create users in other 'Critic' role, repeat these steps but select 'Critic' from drop-down list on registration page.
- After successful login, you are directed to your homepage
alice/alice
- After logging in user will be redirected to /profile/:profileID where user can update his profile and on the right side can see the summary of his activity.
- On clicking explore on the nav-bar user will be routed to fan/explore page where he can see all the users and have the option to view their profile and can also follow them.
- On clicking the pick-flick icon user will be navigated to home page where user can see all the trending movie and can create watchlist and all add movie to favorites.
bob/bob
- After logging in Critic will be navigated to his profile page where he can see Critic specific information. In the navigation bar URL on clicking my reviews -Critic will be redirected to all the reviews added by him where he can edit and delete all his reviews.
- On Clicking the pick flick icon Critic will be redirected to /critic/:criticID/critic-home where he can see all the movies and he can add reviews for the movie by clicking the pencil-icon.
admin/admin
- After logging in Admin can navigate to Admin Profile Page /profile/profileID where he can update his profile info.
- On the right hand side admin can see admin specific information (i.e. links of his favorite movies and watchlist and also see number of followers and users he is following)
- Navigating to the 'Admin Console' on the navbar page will take the admin to admin page where he can see all the registered users and can add/delete users.
Display specific content for the logged in user
- Critic user logs in
- User navigates to its home page by clicking on 'My Home' icon on the 'My Links' section on profile page.
- User views the movies on its homepage
- User clicks the pencil button on a movie card.
- Critic is taken to review page for the movie
- Critic types in review title, review text and clicks on Submit button.
- This review is saved to server.
- User clicks on 'My Reviews' on the navigation tab.
- User is taken to a list of their reviews.
- User clicks on pencil icon next to any review text, editable textarea is rendered.
- User types in update to their review and clicks checkmark button.
- Pop-up appears in case of success. Updated review is saved to server.
- User selects trash icon next to any review. Review is deleted.
- User logs in
- User navigates to its home page by clicking on 'My Home' icon on the 'My Links' section on profile page.
- User views the movies on its homepage
- On any movie listing, clicking the thumbs up icon can add that movie to user's favorite list of movies
- On any movie listing, clicking the plus icon can add that movie to user's watchlist
- On clicking delete button icon on the movie listings in watchlist or favorites list will delete the movie from the respective list.
One to Many relation: One user can like many movies. User to Domain Object Relation: Favorited movies are saved to user's favorite list. Many to Many relation: A movie can be like by many users and a user can like multiple movies
Must allow users to change their personal information
- Yes from profile user can update his personal information. Admin can update all the users.
Must be accessible to other users including anonymous users
- Anonymous or not legit user can just see Name, username, Followers and Following of the user. Other personal information is hidden
Must hide personal/private information from others visiting the profile
- Anonymous or not legit user can just see Name, username, Followers and Following of the user. They cannot see sensitive information like date of birth, email and other personal details.
Must group similar/related data into distinguishable group
- On their profile page, any user can see links to their home, favorites, watchlist, number of followers, number of following.
- Critic: clicking on my reviews page critic can edit and delete his reviews and view all his reviews. On his home, critic has option to review any movie
- Fan: On his home, fan can like/dislike/add to watchlist. From Explore tab, fan can follow, unfollow, view profile of a user.
Must display lists of snippets and links of all data related to a user
- Profile page has a list of links which renders information specific to a role. Dynamic navbar shows information specific to a role.
Must provide a form to search a remote API, not your own API
- Search form allows user to type in search keywords. On pressing search button, the results fetched from a remote API are rendered Must provide a summarized list of results matching the search criteria
- After typing the search, user can see filtered cards of movies based on search criteria Must provide a link/button to navigate to the details page
- On clicking view or more details user can navigate to details page
Can augment the results with related data in your local databases (optional)
- For logged in user this is handled when you search you have an option to like/dislike an add that movie card to watchlist
Must retrieve details from the remote API based on some unique identifier provided as a parameter from the search/results page
- When user types some search parameter results will be displayed based on the search filter. If user clicks on the card he/she will be redirected to details page where he can see movie overview and other stuff
Must display additional related data from the local database
- If a critic has already reviewed the movie user should be able to see the reviews of the movie/ if user is logged in a critic he/she can also add a review and view it
Must provide links to related data/users
- User can see the profile of the reviewer
Must allow users to register and create a new account
- navigating to /register will allow to register user
Must allow choosing a role(s) for a user
- On the registration page, there is a dropdown with list of roles and user can select his role
Must allow login in and identifying themselves
- If an anonymous user tries to review a movie, they are prompted to login
Must disallow access to at least one Web page unless logged in
- anonymous user cannot see watchlist page and favorites page and also cannot perform both actions(add to watchlist, favorite movie) without being logged in.
Must allow access to all other Web pages even when not logged in
- Yes except few details which are profile specific anonymous user can view fans, movie details and reviews, trending movies and all that information which does not require logging.
Must adapt content based on whether user is logged in or not for at least the Home page and Profile page
- User cannot see watchlist and favorite and also cannot perform both actions without logged in.
Must force login only when identity is required
- When anonymous user clicks on movie details and tries to write review for a movie identity is required.
Must be mapped to /login
- Login is mapped to /login
End User 1 (alice/alice) CREATING a domain object
- Role alice/alice: FAN
- FAN can create a list of favorite movie and watchlist by clicking on 'thumbs-up' and '+' icon respectively.
- Clicking on 'My Home' link from their profile page takes them to their homepage.
End User 1 (alice/alice) READING a domain object Through explore page alice can see all other users through explore page by clicking on explore icon in the nav bar. On clicking the pick flick icon user can see the top trending movies.
End User 1 (alice/alice) UPDATING a domain object Through explore page user can see all other users through explore page by clicking on explore icon in the nav bar. User has the option to follow other users and see their profile. On clicking the pick flick icon user can see the top trending movies and can add movies to list of favorites and watchlist
End User 1 (alice/alice) DELETING a domain object
- On clicking the pick flick icon user can see the movies to list of favorites and watchlist.
- On clicking the delete icon on the movie card from favorites and wishlist user can delete the domain object.
End User 2 (bob/bob) CREATING a domain object
- Critic can Create a review for a movie.
- There are two ways to navigate to the review option
- Critic goes to 'My Home' from their profile page. There user can see a couple of movies. User can review movie by clicking on pencil icon next to any movie. This is a quick review option or
- Critic can click on 'More details' and navigate to the page where there is more detailed information about the movie and an option to fill in movie review.
**End User 2 (bob/bob) READING a domain object ** End users are required to be able to CRUD a domain object
- By logging in with critic type role, on clicking 'My Reviews' user can read all the reviews he has posted so far.
End User 2 (bob/bob) UPDATING a domain object
- By logging in with critic type role, on clicking 'My Reviews' user can update any review from the list of reviews.
End User 2 (bob/bob) DELETING a domain object
- By logging in with critic type role, on clicking 'My Reviews' user can delete the review.