/Project-2

An application that has the functionality to login/signup to view movie options during the holiday season.

Primary LanguageJavaScript

Project 2. Movie Mania

This is an Interactive Full-Stack Application.

Application concept:

  • As a user, I want to make a web application which allows a user to browse movies using movie api and view details about the movie.

  • The USER creates an account providing a NAME, an EMAIL, and a PASSWORD.

  • The USER can then LOG IN with the correct CREDENTIALS.

  • THE USER will then be taken to a HOME PAGE with a SEARCH area.

    a. The HOME PAGE consists of MOVIE POSTERS that the USER has FAVORITED.

    b. THE SEARCH area has BUTTONS that correspond to specific GENRES.

    b-1. The BUTTONS each take the USER to the specified GENRE.

    b-2. The SEARCH area has an input field for the USER to search for a MOVIE TITLE.

  • Upon clicking a GENRE or searching a MOVIE TITLE the page is populated with MOVIES based on the USER'S REQUEST.

  • The USER is given the capability of saving the MOVIES to their FAVORITES by clicking the HEART at the bottom of the MOVIE CARDS.

  • Should the USER not find a MOVIE that they want to FAVORITE, they may return HOME by clicking the 'HOME' ICON in the Upper Right and SEARCH AGAIN. (Future project feature).

  • The USER can click on a POSTER and be taken to a page with DETAILS about the MOVIE such as a DESCRIPTION and CRITIC REVIEWS. (Future project feature).

  • The USER will still be able to FAVORITE the MOVIE on this page.(Future project feature).

  • When the USER is finished FAVORITING MOVIES they may RETURN HOME to view all of their FAVORITES(Future project feature).

  • If the USER does not want to risk their FAVORITES being changed by someone else, then the USER should click 'LOG OUT' in the Upper Right.

Framework Specifications:

  • Node.js and Express.js to create a RESTful API.

  • Handlebars.js as the template engine.

  • MySQL and the Sequelize ORM for the database.

  • Have both GET and POST routes for retrieving and adding new data.

  • Have a folder structure that meets the MVC paradigm.

  • It Includes an authentication (express-session and cookies).

  • Protected API keys and sensitive information.

Deployed link:

Heroku

Github Repo Link:

Movie Mania

packages used:

  • eslint
  • prettier
  • auth
  • axios
  • bcrypt
  • connect-session-sequelize
  • dotenv
  • express
  • express-handlebars
  • express-session
  • mysql2
  • sequelize

Application Images:

Login page

Login page

sign-up page

Sign-up page

Search page

Search page

Search Results

Search results

Authors:

Lyman Connor

Alex Brandon

Cody Ktestakis

Mandeep Saini