Welcome to the Movie Recommendation App! This project provides personalized movie suggestions using React for the front-end, Firebase Functions for the back-end, and the Gemini API for generating content.
- Personalized Recommendations: Get movie suggestions based on your preferences.
- Dynamic UI: User-friendly interface with movie images and category selection.
- User Authentication: Login and registration functionality.
- Liked Movies: Users can like movies and view their liked movies list.
- Theme Customization: Multiple color themes to choose from.
- Serverless Deployment: Deployed on Firebase Hosting with serverless backend functions.
- Front-End: React, Tailwind CSS
- Back-End: Firebase Functions (Node.js)
- API Integration: Gemini API, OMDB API
- Database: Firebase Firestore
- Authentication: Firebase Authentication
- Hosting: Firebase Hosting
To get started with this project, follow these steps:
- Node.js and npm installed
- Firebase CLI installed (
npm install -g firebase-tools
)
- Navigate to the
frontend
folder and install the dependencies:
cd frontend
pnpm install
- Create a
.env
file in thefrontend
directory and add your Firebase configuration:
REACT_APP_FIREBASE_API_KEY=your_api_key
REACT_APP_FIREBASE_AUTH_DOMAIN=your_auth_domain
REACT_APP_FIREBASE_PROJECT_ID=your_project_id
REACT_APP_FIREBASE_STORAGE_BUCKET=your_storage_bucket
REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id
REACT_APP_FIREBASE_APP_ID=your_app_id
REACT_APP_FIREBASE_MEASUREMENT_ID=your_measurement_id
- Navigate to the
functions
folder and install the dependencies:
cd ../functions
pnpm install
- Create a
.env
file in thefunctions
directory and add your API keys:
GEMINI_API_KEY=your_gemini_api_key
OMDB_API_KEY=your_omdb_api_key
- Log in to Firebase CLI:
firebase login
- Initialize your Firebase project:
firebase init
Select Hosting and Functions when prompted.
- Start the front-end development server:
cd ../frontend
pnpm start
- In a separate terminal, start the Firebase emulators:
firebase emulators:start
To deploy the app to Firebase:
pnpm run build
firebase deploy
This project is licensed under the MIT License.