Skip to content

Instantly share code, notes, and snippets.

@Gideon877
Last active June 8, 2022 13:40
Show Gist options
  • Save Gideon877/5e58c27d822148c76ce8414876999dcb to your computer and use it in GitHub Desktop.
Save Gideon877/5e58c27d822148c76ce8414876999dcb to your computer and use it in GitHub Desktop.
Movie App

Movie App

You are a movie lover, and you need to create your our movie app and with no subscriptions.

Create a web application that can help search for all the avilable movie.

Your app should be able to do the following.

Your app should be able to do the following.:

  • Create account
  • Login
  • Update profile
  • Save movie to playlist
  • View movie details

Create User Acount

Acount schema
  {
      "firstName": {"type": String, "required": true, "unique": false },
      "lastName": {"type": String, "required": true, "unique": false },
      "username": {"type": String, "required": true, "unique": true },
      "password": {"type": String, "required": true, "bcrypt": true },
      "email": {"type": String, "required": true, "unique": true },
      "image": {"type": String, "required": false },
      "active": {"type": Boolean, "required": true },
      "timestamp": {
          "created": {"type": String, "required": true, "unique": false },
          "lastSeen": {"type": String, "required": true, "unique": false },
      }
  }
  • If a username already exist, return an error message.
  • User password should have a length of eight characters or more.
  • User password must be strong (Must contain special characters ).
  • E-mail should be a valid email address.
  • Active should be true by default.
  • User momentjs for timestamp
  • Password should be encrypted using bcrypt

Login

  • User need username and password to login.
  • Validate password using bcrypt
  • if a username don't exist, redirect to registration page.

Pages

Home
  • A user should be able to search and get results. Use onChange event.
  • Results should be display in a card form.
  • User should be able to add a movie to a playlist
  • User should be able to view more details
Profile
  • User should be able to change password, and email address.
  • User should be able to deactivate account.
Playlist
  • User should be able to remove movie.
  • User should be able to view all movies in the playlist

Routes

Methods Path Description
GET /signIn Login page
GET /signUp Create new account
GET /movies/:username Home page
GET /profile/:username View user profile
GET /movie/:username/more View more details.
GET /playlist/:username Display all movies in playlist
POST /signIn
POST /signUp
POST /movie/:username/add Add movie to playlist
POST /profile/:username Update user profile
POST /playlist/:username/:movieId Remove movie from playlist
@Gideon877
Copy link
Author

images: https://image.tmdb.org/t/p/w500 + poster_path

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment