Skip to content

Repository for Web Development course in JTK Polban. Tasked to create IMDB like website.

License

Notifications You must be signed in to change notification settings

muhammadrama19/webdev2024

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Movie Review App Project

React
    React Router
    Sass
    React-Bootstrap
    Material UI
    Google OAuth
    JWT
    Passport.js
    Express
    MySQL

Project Description

This project is a web application for movie review app. It comes with client app where user can view movie and its detail also Content Management System (CMS) for managing its content and user.

This project built for Web Development Course at JTK POLBAN.

Key Features

Client-Side Features

  1. Home Page
    The main landing page for users, providing access to movie information.
  2. User Authentication
    • Register: Allows new users to create an account.
    • Login: Enables existing users to log in.
    • Forgot Password: Provides a method for users to reset forgotten passwords.
    • Reset Password: Enables users to reset their password using a token.
  3. Movie Details
    • Detail Movie Page: Displays detailed information about specific movies, including reviews, actor information, and trailers.
      • Movie Trailer
      • User Reviews
      • Actor Information: Includes details about actors and their roles in the movie.
  4. Review Bar
    Users can add reviews and ratings for movies.
  5. User Review
    Other users review about the movie.

Admin-Side Features

  1. Dashboard
    Provides an overview of platform statistics and activities.
  2. Movie Management
    • Input Drama: Allows admins to add new movies.
    • List Drama: Displays a list of all movies.
    • Validate Drama: Enables validation and approval of movies.
    • Validate History: Displays the history of validated movies.
    • Movie Trash: Manages movies that have been moved to the trash.
  3. Review Management
    Admins can manage user reviews.
  4. Actor Management
    Admins can manage actors and their roles in movies.
  5. Genre Management
    Admins can manage movie genres.
  6. Country Management
    Admins can manage country-related movie data.
  7. Awards Management
    Admins can manage movie awards.
  8. User Settings
    Allows admins to manage user settings and permissions.

Installation Guide

Local Installation

Prerequisites

  • Node.js
  • MySQL database

Cloning the Repository

  1. Open a terminal (bash) and clone the repository:
    git clone https://github.com/muhammadrama19/webdev2024.git
  2. Navigate to the project directory:
    cd webdev2024

Importing the Database

  1. Import the database from the repo into your MySQL instance using the appropriate .sql file. The database is located in repository on folder database.

Install Dependencies

  1. Navigate to the project directory and install dependencies. Both for server and view: Open new terminal on folder 'server', then type
    npm install
    Open new terminal on folder 'view', then type
    npm install

Configure Environment Variables

  1. Create a .env file in the foler 'server' and configure it with the following variables:
    JWT_SECRET=
    EMAIL=
    EMAIL_PASSWORD=
    CREDENTIALS_SENDER_NAME=
    GOOGLE_CLIENT_ID=
    GOOGLE_CLIENT_SECRET=
    SESSION_SECRET=
    DB_HOST=
    DB_USER=   
    DB_PASSWORD=
    DB_NAME=
    PORT=
    FRONTEND_URL=
    BACKEND_URL=
  2. Create a .env file in the foler 'view' and configure it with the following variables:
    REACT_APP_API_URL=

Running the Application

  1. Start your sql database server
  2. Start the backend server on 'server':
    node index.js
  3. Open new terminal start the frontend application on folder 'view':
    npm start

Docker Installation

Cloning the Repository

  1. Open a terminal (bash) and clone the repository:
    git clone https://github.com/muhammadrama19/webdev2024.git
  2. Navigate to the project directory:
    cd webdev2024

Build Command

  1. Open terminal and then build docker images:
    docker-compose up --build -d

Author

Akmal Goniyyu Hartono (221524002)
M. Azharuddin Hamid (221524018)
M. Rama Nurimani (221524021)


Acknowledgements

About

Repository for Web Development course in JTK Polban. Tasked to create IMDB like website.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •