Welcome to the Movie Website project! Dive into a world where you can watch movie trailers, provided you have a subscription, and enjoy personalized movie recommendations. Our recommendation system uses gradient episodic memory model to ensure real-time updates and the most relevant suggestions.
- Exclusive Trailer Access: Only subscribed users can enjoy our movie trailers.
- Smart Recommendations: Our system delivers personalized movie recommendations using advanced machine learning techniques.
- Trần Kim Dũng - 22022633
- Phạm Anh Quân - 22022625
- Hồ Cảnh Quyền - 22022629
- Nguyễn Văn Thân - 22022596
Make sure you have the following installed:
- Docker
- Miniconda
- Nodejs
-
Clone the Repository
git clone https://github.com/Vnn04/movie_website.git cd movie_website
-
Set Up the Server
- Navigate to the
server
directory:cd server
- Run the server using Docker Compose:
docker-compose up
- Navigate to the
-
Set Up the Recommendation System
- Navigate to the
recommendationSystem
directory:cd ../recommendationSystem
- Create a new Conda environment and activate it:
conda create --name mlops-env python=3.12 conda activate mlops-env
- Install the required libraries:
pip install -r requirement.txt
- Run the application:
python app.py
- Navigate to the
-
Finalize the Server Setup
- First, in folder server add file .env and paste content in file .env.example into it, fill the missing infomation. with MAIL_USERNAME= your_email (Your email has 2-layer security) MAIL_PASSWORD= your_password(app passwrod or your password of your email), MAIL_FROM_ADDRESS= your_email (Your email has 2-layer security), SECRET_API_GG_IMG_KEY= your_api_google_image_key.
- Navigate back to the
server
directory:cd ../server
- Install the necessary Node.js packages:
npm install
- Start the server:
npm start
- Open your browser and go to
http://localhost:8080
to view the application.
Once installed, launch the application by navigating to http://localhost:8080
. Users can sign up, subscribe, and start watching exclusive movie trailers. Our recommendation system will tailor suggestions to each user's preferences based on their viewing history.
- Frontend: HTML, CSS, JavaScript
- Backend: Node.js, Express
- Database: Mysql
- Recommendation: Python, Gradient Episodic Memory
- Containerization: Docker
- Environment Management: Conda
We welcome contributions from the community! If you have ideas to enhance the Movie Website, follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Make your changes and commit them (
git commit -m 'Add new feature'
). - Push the changes to your branch (
git push origin feature/your-feature
). - Open a Pull Request for review.
Please ensure your contributions adhere to our coding standards and include necessary tests.
This project is licensed under the MIT License. For more details, see the LICENSE file.
Thank you for choosing Movie Website! We hope you enjoy an exceptional, personalized movie trailer experience.