This shows you the differences between two versions of the page.
android:proiect:2025:proiecte:tvshowfinder [2025/05/29 16:05] alexandra.moroiu |
android:proiect:2025:proiecte:tvshowfinder [2025/05/31 12:48] (current) alexandra.moroiu |
||
---|---|---|---|
Line 3: | Line 3: | ||
- | **Nume**: Moroiu Alexandra-Maria\\ | + | **Name**: Moroiu Alexandra-Maria\\ |
- | **Grupa**: SSA1-C | + | **Group**: SSA1-C\\ |
+ | **Github repo**: [[https://github.com/Android-Course-UPB/project-sidereal-sky|Project link]] | ||
+ | |||
+ | |||
+ | |||
+ | ===== Introduction ===== | ||
+ | A simple and intuitive Android application built with Jetpack Compose that helps users discover TV shows. The app uses the TV Maze API to fetch show information and provides a clean interface for browsing shows and their details. | ||
+ | |||
+ | |||
+ | ===== Main Features ===== | ||
+ | - Search for TV shows by name | ||
+ | - View detailed show information including: | ||
+ | * Show image and title | ||
+ | * Summary | ||
+ | * List of episodes organized by season | ||
+ | - Dark/Light theme support | ||
+ | |||
+ | |||
+ | ===== TV Maze API Endpoints ===== | ||
+ | |||
+ | <code> | ||
+ | GET https://api.tvmaze.com/search/shows?q={query} | ||
+ | → Search for TV shows by name. Returns matching show results. | ||
+ | |||
+ | GET https://api.tvmaze.com/shows/{id} | ||
+ | → Get detailed information about a specific show. | ||
+ | |||
+ | GET https://api.tvmaze.com/shows/{id}/episodes | ||
+ | → Get all episodes for a show, grouped by season. | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== How to Use ===== | ||
+ | - Home Screen | ||
+ | * The app starts with a welcome screen | ||
+ | - Search Screen | ||
+ | * Enter a show name in the search bar | ||
+ | * Results appear as you type | ||
+ | * Each result displays the show's image and title | ||
+ | * Tap on a show to view its details | ||
+ | - Details Screen | ||
+ | * View the show's full information | ||
+ | * Browse episodes by season using the tab row | ||
+ | * Each episode shows: | ||
+ | * Episode number and title | ||
+ | * Summary | ||
+ | - Settings Screen | ||
+ | * Toggle between light and dark theme | ||
+ | |||
+ | |||
+ | ===== Architecture ===== | ||
+ | The app follows the MVVM (Model-View-ViewModel) architecture pattern: | ||
+ | |||
+ | * Model: Data classes and repository layer | ||
+ | * View: Compose UI components | ||
+ | * ViewModel: State management and business logic | ||
+ | |||
+ | The app also uses a manual dependency injection approach with an Application Container to manage dependencies. | ||
+ | |||
+ | |||
+ | |||
+ | ===== Resources ===== | ||
+ | * [[https://www.tvmaze.com/api|TV Maze API]] for providing the show data | ||
+ | * [[https://developer.android.com|Google Android Developers]] for Android tutorials | ||
+ | * [[https://developer.android.com/jetpack/compose|Jetpack Compose]] for the modern UI toolkit | ||
+ | * [[https://m3.material.io|Material 3]] for the design system | ||
+ | |||
+ | |||
- | ===== Introducere ===== |