Prototype - qhuntley/huntley-quill-webdev GitHub Wiki

The first page the user is directed to is the homepage. The homepage is populated with a search bar and has content such as "Upcoming Movies", "Current Movies", "Popular Movies", and "Top Rated Movies". The homepage also has a navigation bar, with two buttons: 'Login' and "Register'. (These links will change dynamically once the user is logged in.) If the use clicks on Login he/she will be directed to the login page. Here the user must input their credentials (i.e. username and password) and click 'Login' to login. If the user is not registered, they can navigate to the 'Register' page by clicking either the 'Register' button at the bottom of the 'Login' page, or by using the 'Register' button in the homepage navigation bar.

If you login, you will be navigated back to the homepage with the dynamically changed buttons on the navigation bar. If you register, you will be navigated to your private profile page. Here the user can update their information by typing in changes and clicking the 'check' button in the top right dropdown menu, represented by a glyphicon cog.

User-to-user relations:

  • Navigate to user's profile page
  • Follow/Unfollow user
  • Create/Update/Delete users (own profile)
  • Create/Update/Delete users (as admin)

Navigate to user's profile page

We decided to have two separate profile pages for a user: private profile and public profile. A user can navigate to their own profile at any time, by clicking on the 'Profile' button in the navigation bar. This profile page has their general information, as well as their Reviews (if they are a Reviewer/Celebrity/Admin), their Posts (if they are a Celebrity/Admin), and their Followers/Following(if they are a Reviewer/Celebrity). If a user wanted to see what their profile page looked like to other users, they would need to navigate to their public profile page. To navigate here, a user must have reviewed or posted about a movie. If the user searches for the movie they reviewed/posted about, click the 'Details' button, and open up either the 'Reviews' or 'Posts' tab accordingly, they will see their username and their post/review. If they click on their username, they will be directed to their public profile page. Again, this is the page that other users would see. This page obviously does not include the current user's general information (like their username), and instead only shows the tabs for 'Reviews', "Posts, and 'Follow/Following.'

Follow/Unfollow user

One user-to-user relation is the ability to follow or unfollow another user. To do this the currently logged in user (User 1) would need to navigate to another user's (User 2) profile, as described above. If User 2 was NOT currently following User 1, they would see a 'Follow' button in the top right corner. If they click 'Follow' they are added to User 1's followers (both in the public and private profiles). Like Twitter, they will also be able to see who User 1 is following. The 'Following' tab will automatically populate when 'Follow' is clicked. Once the 'Follow' button is clicked, the button will change to show an 'Unfollow' button. If User 2 decides to unfollow User 1, they can click this button. If so, User 2 will no longer be in User 1's followers, and they will also not be able to see who User 1 is following.

Create/Update/Delete users (own profile)

Every user has the ability to Create/Update and Delete their profile. Create and update have been discussed above. To delete a profile, a user must go to their private profile and click 'Unregister' under the dropdown menu in the top right corner. This will navigate the user back to the Login page, and the user will no longer be able to sign in with their credentials.

Create/Update/Delete users (admin)

One of the most important user-to-user relations we have implemented is the ability of the admin user to create/delete or update users, their reviews, and their posts. If you are logged in as an admin user, you will be able to see an 'Admin' button next to the 'Profile' and 'Logout' buttons on the top navigation bar. Clicking this 'Admin' button will take the user to the main Admin page, where the admin user can decide where they want to go. The can manipulate users by clicking 'Users', posts by clicking on 'Posts', or reviews by clicking on 'Reviews'. Manipulating 'Users' and 'Reviews' are exactly the same in terms of functionality, while 'Posts' is slightly different. To manipulate the 'Users' or 'Reviews' data as an admin user:

  • Create: To create, admin user must first type in the new user fields given (except for roles in 'Users', which will be populated automatically as 'USER'). Once this is done, click the 'plus' glyphicon to create.
  • Update: To update, click the 'pencil' glyphicon, edit the information in the top field, and then click the 'ok' glyphicon.
  • Delete: To delete, simply click the 'remove' glyphicon.

For Posts, it is slightly different:

  • Create: Click 'plus' glyphicon in top right, navigate to post chooser page, click the post you want to create. This will navigate you to a form suited to the post Type. Fill it out and click the 'Post it' button.
  • Update: Click the 'pencil' glyphicon and navigate to the respective forms. Fill in the update and click 'Update it' button.
  • Delete: Delete is implemented just like for 'Users' and 'Reviews'