Skip to content

Android app in Kotlin showcasing a movie gallery with Firebase-powered login and dynamic content.

Notifications You must be signed in to change notification settings

chazdj/SceneStream

Repository files navigation

SceneStream

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.

Features

  • 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

Tech Stack

  • Language: Kotlin
  • Platform: Android (minSdk 21+)
  • Backend Services: Firebase Authentication, Firestore
  • Tools: Android Studio, Firebase Console

Project Structure

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

Architecture Overview

  • SplashActivity – Launch screen that redirects to authentication
  • LoginActivity – Firebase login with option to sign up
  • SignupActivity – New user registration and profile setup
  • MainActivity – Hosts NavigationDrawer and fragment transactions
  • Fragments – Modular screens for Movies, Search, Genres, Account, Settings
  • Adapters – Custom RecyclerView adapters for movies and genres
  • Firestore – Stores and retrieves movie and genre entities

Installation

  1. Clone the repo
    git clone https://github.com/Chazdj/SceneStream.git
  2. Open the project in Android Studio
  3. Sync dependencies using libs.versions.toml (includes Firebase, Glide, Preference, RecyclerView, etc.)
  4. Run on emulator or physical device (Min SDK: 21)

Firebase Setup

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

Demo Walkthrough

Watch Demo

Author

Created by Chastidy Joanem
GitHub: @chazdj

About

Android app in Kotlin showcasing a movie gallery with Firebase-powered login and dynamic content.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages