Content Advisor is an AI-powered Android application that provides movie and TV series recommendations to users. It fetches current content information using the TMDB API and provides personalized recommendations through OpenAI ChatGPT.
- 🎭 Movie & TV Series Discovery: Discover popular movies and TV series
- 🔍 Advanced Search: Search for movies, TV series, and actors
- 🤖 AI Chatbot: Get movie/TV series recommendations with ChatGPT
- 👤 User Profile: Save and track your watched content
- 🎯 Personalized Recommendations: Get recommendations based on your watch history
- 📱 Modern UI: User-friendly interface designed with Material Design
- 🔐 Secure Authentication: User management with Firebase
- Firebase Realtime Database: User data and session management
- TMDB API: Movie and TV series data
- OpenAI ChatGPT API: AI-powered recommendations
- MVVM Pattern: Model-View-ViewModel architecture
- Kotlin Coroutines: Asynchronous programming
- Retrofit: HTTP client and API integration
- Glide: Image loading and caching
- Material Design Components: Modern UI components
- ViewBinding: Type-safe view references
- LiveData & ViewModel: Reactive data management
- Android Studio: IDE
- Gradle: Build system
- Kotlin: Programming language
- Android Studio Hedgehog | 2023.1.1 or higher
- JDK 11 or higher
- Android SDK 24 (Android 7.0) or higher
- Minimum Android 7.0 (API 24)
- Target Android 14 (API 35)
git clone https://github.com/yourusername/Content_Advisor.git
cd Content_Advisor- Create an account on TMDB
- Get your API Key from Settings > API section
- Add it to
local.propertiesfile:
TMDB_API_KEY=your_tmdb_api_key_here- Create an account on OpenAI Platform
- Create a new API key from API Keys section
- Add it to
local.propertiesfile:
OPENAI_API_KEY=your_openai_api_key_here- Create a project on Firebase Console
- Add an Android app (package name:
com.example.content_advisor) - Download
google-services.jsonand place it in theapp/folder
./gradlew buildOpen the project in Android Studio and click Run, or:
./gradlew installDebugapp/src/main/java/com/example/content_advisor/
├── api/ # API services and Retrofit clients
│ ├── GptApiService.kt
│ ├── GptRetrofitClient.kt
│ ├── RetrofitClient.kt
│ └── TMDBApiService.kt
├── adapter/ # RecyclerView adapters
│ ├── PosterAdapter.kt
│ └── SearchAdapter.kt
├── model/ # Data model classes
│ ├── Credits.kt
│ ├── GptRequest.kt
│ ├── GptResponse.kt
│ ├── SearchResult.kt
│ └── TMDBResponse.kt
├── repository/ # Repository pattern implementation
│ ├── GptRepository.kt
│ └── MovieRepository.kt
├── viewmodel/ # ViewModel classes
│ ├── ChatViewModel.kt
│ └── MovieViewModel.kt
├── ChatActivity.kt # AI chatbot page
├── DetailActivity.kt # Movie/TV series detail page
├── LoginPageActivity.kt # Login page
├── MainActivity.kt # Launcher activity
├── MainPageActivity.kt # Main page
├── ProfilePageActivity.kt # Profile page
└── RegisterPageActivity.kt # Registration page
- Open the application
- Click "Not registered yet?" link to register
- Enter your email, name, and password
- You will be automatically logged in after registration
- Popular movies and TV series are displayed on the home page
- Use the search bar to search for content
- Click on any content to view its detail page
- Click the Chat icon from the bottom navigation
- Ask questions about movies or TV series
- Example questions:
- "Can you recommend comedy movies?"
- "What shows are similar to Breaking Bad?"
- "What are Christopher Nolan's best movies?"
- View your watched content on the profile page
- Add new movies/TV series
- View personalized recommendations
- Log out
- API keys are stored in
local.propertiesfile (not committed to Git) google-services.jsonfile is in.gitignore- User passwords are securely stored in Firebase
- Session management with SharedPreferences
- The Movie Database (TMDB) - For movie and TV series data
- OpenAI - For ChatGPT API
- Firebase - For backend services