GeminiYoutubeApp/
│
├── docs/ # Documentation directory
│ ├── ARCHITECTURE.md # This file - architecture overview
│ └── TECHNICAL.md # Technical implementation details
│
├── app.py # Main application file
├── .env # Environment variables (API keys)
├── requirements.txt # Dependencies
└── README.md # Main documentation
YouTubeAnalyzer (Main Class)
├── Configuration
│ ├── Config Class
│ │ ├── Model Settings (Gemini Flash)
│ │ ├── Analysis Types
│ │ └── UI Constants
│ └── Session State Management
│
├── API Integrations
│ ├── Gemini AI Connection
│ │ ├── Model Initialization
│ │ └── Response Generation
│ └── YouTube Data API
│ ├── Transcript Fetching
│ └── Video Information
│
├── Data Processing
│ ├── Video Processing
│ │ ├── URL Validation
│ │ └── ID Extraction
│ ├── Text Processing
│ │ ├── Transcript Assembly
│ │ └── Content Chunking
│ └── Analysis Generation
│ ├── Prompt Construction
│ └── Response Formatting
│
└── User Interface
├── Sidebar
│ ├── URL Input
│ ├── Analysis Selection
│ └── Export Options
├── Main Content
│ ├── Results Display
│ └── Transcript View
└── Interactive Features
├── Q&A Interface
└── Chat History
Start
├── Load Environment
│ ├── API Keys
│ └── Configuration
├── Initialize AI Model
│ ├── Set Parameters
│ └── Configure Limits
├── Setup UI
│ ├── Page Configuration
│ └── Style Application
└── Initialize State
├── Session Variables
└── Chat History
User Input
├── URL Validation
├── Video ID Extraction
├── Transcript Fetching
├── Content Processing
│ ├── Text Assembly
│ └── Length Validation
├── AI Analysis
│ ├── Prompt Construction
│ └── Response Generation
└── Results Display
Q&A Process
├── Question Input
├── Context Assembly
├── AI Processing
└── Response Display
├── Update History
└── Format Output
- URL validation and parsing
- Video information retrieval
- Transcript extraction and assembly
- Text preprocessing
- Chunking for large content
- Analysis type application
- Response formatting
- Result assembly
- Export preparation
- Environment variables handling
- Model parameters configuration
- Session state management
- Gemini AI interaction
- YouTube Data API usage
- Error handling and retries
- Smart text truncation
- Context window management
- Response optimization
- Responsive design
- Interactive elements
- Export functionality
- Session persistence
- Analysis caching
- History tracking
-
Modularity
- Independent components
- Easy maintenance
- Simplified testing
-
Scalability
- Efficient resource usage
- Optimized processing
- Flexible capacity
-
User Experience
- Responsive interface
- Clear feedback
- Intuitive flow
-
Maintainability
- Clean code structure
- Clear documentation
- Easy updates