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.
- Home Page
The main landing page for users, providing access to movie information. - 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.
- 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.
- Detail Movie Page: Displays detailed information about specific movies, including reviews, actor information, and trailers.
- Review Bar
Users can add reviews and ratings for movies. - User Review
Other users review about the movie.
- Dashboard
Provides an overview of platform statistics and activities. - 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.
- Review Management
Admins can manage user reviews. - Actor Management
Admins can manage actors and their roles in movies. - Genre Management
Admins can manage movie genres. - Country Management
Admins can manage country-related movie data. - Awards Management
Admins can manage movie awards. - User Settings
Allows admins to manage user settings and permissions.
- Node.js
- MySQL database
- Open a terminal (bash) and clone the repository:
git clone https://github.com/muhammadrama19/webdev2024.git
- Navigate to the project directory:
cd webdev2024
- Import the database from the repo into your MySQL instance using the appropriate
.sql
file. The database is located in repository on folder database.
- Navigate to the project directory and install dependencies. Both for server and view:
Open new terminal on folder 'server', then type
Open new terminal on folder 'view', then type
npm install
npm install
- 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=
- Create a
.env
file in the foler 'view' and configure it with the following variables:REACT_APP_API_URL=
- Start your sql database server
- Start the backend server on 'server':
node index.js
- Open new terminal start the frontend application on folder 'view':
npm start
- Open a terminal (bash) and clone the repository:
git clone https://github.com/muhammadrama19/webdev2024.git
- Navigate to the project directory:
cd webdev2024
- Open terminal and then build docker images:
docker-compose up --build -d
Akmal Goniyyu Hartono (221524002)
M. Azharuddin Hamid (221524018)
M. Rama Nurimani (221524021)