This repository contains the code for a movie generator web application that allows users to generate random movie recommendations based on their preferences. The application consists of a backend deployed on Azure App Services and a frontend hosted on Azure App Services as well. Continuous integration and deployment (CI/CD) are managed using GitHub Actions for the backend and Azure DevOps Pipelines for the frontend.
You can access the live website at: https://movie-generator.azurewebsites.net/
- Users can choose movie preferences, including rating, release year, film length, genre, and desired cast.
- Clicking the "Generate" button will trigger the backend to generate a random movie recommendation based on the selected preferences.
- If users are not satisfied with the recommendation, they can click the "Regenerate" button to get a new recommendation or edit the parameters and generate again.
- React.js: A popular JavaScript library for building interactive user interfaces.
- Material-UI: A set of React components and styles that follow Google's Material Design guidelines, enhancing the application's visual appeal.
- Axios: A JavaScript library used to make HTTP requests to the backend API, enabling smooth communication between the frontend and backend components.
- Spring Boot: A powerful framework for building Java applications, which was used to create the backend API.
- AWS Elastic Beanstalk: A service from Amazon Web Services that simplifies the deployment and scaling of web applications, hosting the backend of the movie generator.
- AWS Systems Manager (SSM): Used to securely fetch the required API key for the backend from the parameter store.
- GitHub Actions: GitHub's built-in CI/CD system is used for automating the continuous integration and continuous delivery processes for the backend.
- Azure DevOps Pipelines: Azure DevOps Pipelines are used to automate the build and deployment process for the frontend code.
To run the application locally for development, follow these steps:
- Open the backend project located in the
backend
directory using an IDE or code editor. - Configure Azure credentials to access Azure Key Vault.
- Build and run the Spring Boot application.
- Open the frontend project located in the
frontend
directory using an IDE or code editor. - Run
npm install
to install dependencies. - Run
npm start
to start the development server.
This movie generator web application was collaboratively developed by the following contributors:
- d3nnyyy: Responsible for backend development and deployment of the application.
- N1tingale: Responsible for frontend development, designing the user-friendly interface.
Contributions to this repository are welcome. If you find any bugs or have suggestions for improvements, feel free to create a pull request or open an issue.
Happy movie watching! 🎬🍿