This project allows users to upload their YouTube watch history and recieved a synthesized analysis of their viewing habits.
Check out the deployed app.
- Clone the repository:
git clone https://github.com/software-students-spring2025/5-final-proj5-febv.git
- Create a
.env
file based on the.env.example
file:
OPENAI_API_KEY=your_openai_api_key
YOUTUBE_API_KEY=your_youtube_api_key
- Build and start the application with docker:
docker compose up --build
The web application will be available at http://localhost:5002
The Open-AI service will run on http://localhost:8000
After starting the project, visit http://localhost:5002 and use the Upload page to submit a YouTube Watch History JSON file. The file must match the format exported by Google's Takeout under YouTube Watch History. There are instructions about how to access this data on the site.
An example .env file is provided (.env.example) with placeholder values. Before running the system, you must:
- Create your own .env file by copying env.example
- Replace the dummy values with your actual OpenAI and YouTube API keys.
Tests for both the web application and backend can be run locally:
cd web-app && pytest tests/
cd open-ai && pytest tests/