Tingyo Chang // ITP 304 Final Description
CINEPHILE
Description
My final project is called CINEPHILE and is meant to be an envisioning of if NETFLIX were a social media. As such, my colors and design are heavily inspired by the font and color scheme that NETFLIX uses.
Users can post, browse, edit, and delete entries through the website. All design aspects, other than the inspiration of NETFLIX, are original. I sourced my own data from movies that I enjoy on Netflix and populated the table with some initial films of my own.
Database Diagram:
Guest User Workflow:
- Users begin at home.php. They may select to either log in or browse as a guest.
- Users that choose to continue as a guest may select “browse,” which will lead to browse.php. Here, they may view the full list of films in the database.
- Selecting any of the available titles will lead users to details.php, which lists more in depth information about the film, including the latest average rating of the film.
- If guests attempt to add a new rating to the film, access the function of posting, or view a user profile, they will be redirected to the log-in page.
User:
- Users begin at home.php. They may select to either log in or browse as a guest.
Users that select login will be led to login.php, which alerts them of the correct log-in information for them to use. General users will use the following:
Username: user01
Password: tv!
- Logging in will lead users to selection.php, which allows them to either select “Post” or “Browse.”
- Selecting “Post” allows users to post new titles. Selecting “Browse” will allow users to browse all titles.
- Clicking any title listed on browse.php will lead users to details.php. They may enter their own ratings of movies here as well.
- Rating a film will lead users to ratingConfirmation.php, which confirms their rating has been added to the database and will populate the front end with the newest average rating of the film.
- Users may also click on their own profile on the top right, which leads them to profile.php. This allows them to browse the films they have posted/have had activity on.
- Selecting any of these listed titles on profile.php will lead users to update.php, which allows users to update an already-populated page of the title they have selected.
- Submitting update.php will lead users to update_confirmation.php, which updates the database.
Admin:
- Admin and general user have access to all the same privileges.
- Admin has added access to delete.php. The admin user’s profile.php allows them to access the update.php of all titles in the database. Their update.php will allow for users to successfully delete a title from the database.
- At any point, users for both general and admin users, may toggle between pages using the navigation bar. CINEPHILE will lead back to browse.php or selection.php
Extras:
- Sessions/cookies: Using sessions, I allows users to log-in to the site. User login information is also used to populate the website (for example, the top of the navigation bar reads “Welcome, Guest!” and changes depending on which user has logged in).
SQL aggregate functions.
- SQL Agregate functions: I use the a SQL aggregate function to calculate the AVG rating of the movies. This average rating is then populated on the user’s screen when they are browsing the details of each movie.
- Different User Permission Levels: guest (may browse), general (may browse, post, and edit), admin (may browse, post, edit, and delete).