SceneStream is a Firebase-powered Android application that showcases a cinematic gallery of movies. It features authentication, dynamic content loading, genre filtering, search functionality, and customizable UI—all built using modular fragments and modern Android development practices.
- Firebase Authentication – Secure sign-in and registration
- Movie Grid – Images and titles dynamically loaded from Firestore
- Genre Filtering – Browse movies by category via GenreFragment
- Search Functionality – Real-time search with dynamic filtering
- Navigation Drawer – Profile details and seamless fragment navigation
- Settings Panel – Toggle features with
PreferenceFragmentCompat - Custom UI Elements – Styled splash screen, toolbar, and movie cards
- Language: Kotlin
- Platform: Android (minSdk 21+)
- Backend Services: Firebase Authentication, Firestore
- Tools: Android Studio, Firebase Console
app/
├── src/main/java/.../activities/
│ ├── SplashActivity.kt
│ ├── LoginActivity.kt
│ ├── SignupActivity.kt
│ └── MainActivity.kt
│
├── src/main/java/.../fragments/
│ ├── MovieFragment.kt
│ ├── SearchFragment.kt
│ ├── GenreFragment.kt
│ └── SettingsFragment.kt
│
├── src/main/java/.../adapters/
│ └── MovieAdapter.kt
│
├── res/layout/
│ ├── activity_main.xml
│ ├── fragment_movie.xml
│ ├── fragment_search.xml
│ └── list_item_movie.xml
│
└── res/
├── drawable/
├── values/
│ ├── colors.xml
│ ├── themes.xml
│ └── strings.xml
SplashActivity– Launch screen that redirects to authenticationLoginActivity– Firebase login with option to sign upSignupActivity– New user registration and profile setupMainActivity– Hosts NavigationDrawer and fragment transactionsFragments– Modular screens for Movies, Search, Genres, Account, SettingsAdapters– Custom RecyclerView adapters for movies and genresFirestore– Stores and retrieves movie and genre entities
- Clone the repo
git clone https://github.com/Chazdj/SceneStream.git
- Open the project in Android Studio
- Sync dependencies using libs.versions.toml (includes Firebase, Glide, Preference, RecyclerView, etc.)
- Run on emulator or physical device (Min SDK: 21)
To enable Firebase features:
- Add your google-services.json file to /app
- Enable Firebase Authentication (Email/Password)
- Configure Firestore with collections:
- users → name, email, profilePicUrl
- movies → title, posterUrl
- genres → name, iconUrl
Created by Chastidy Joanem
GitHub: @chazdj