MovieApp - FS MOVIES+

Authors César Alba, Fran V. Hernández, Rubén Zafra

Technologies & techniques

  • JavaScript ES6+
  • Node.js with Express (API REST)
  • MVC
  • Mongo DB
  • PostgreSQL
  • ODM: Mongoose
  • SSR with Pug
  • SCRUM Team Methodology
  • JWT Authentication
  • OAuth 2.0 Google with Passport
  • Web Scraping with Puppeteer
  • Unit testing with JEST
  • Test E2E Cypress
  • Mobile first
  • Deploy: Vercel

You´ll find a .env.example file that´ll help you to set your .env file.

Routes

/

Login with email and password. Options to login with Google, recover password and sign up

/signup

Sign up with email and password written twice. You must choose a role: admin or user. Users can search movies and add them to favourites. Admins can create, edit and remove movies

/u/search

User's browser of movies. The browser searchs first in the api of movies. If no movies where found, it searchs in our Mongo database, with all the movies admins have created. There is a nav bar for navigating to some routes of the app

/u/search/:id: Gives a full view of a movie: Title, Poster, imdbRating, Year, Plot, Actors, Writers, Director, Genres and (only movies from the api) reviews taken through web scraping from FilmAffinity and Rotten Tomatoes. The user can add the movie to his favourites list

/u/movies

Lists the user's favourite movies

/u/restorepassword

The user can simply change his password

/u/about

Short about page

/logout

Logs out the user and takes him to the login page

/admin

Shows all the admin created movies. Admins can enter the edit movies page and remove them from here. It has a nav bar with the create movie route and logout

/admin/createmovie

Create movie page

/admin/editmovie

Edit movie page

ERD (users and favorites)

image