This shows you the differences between two versions of the page.
|
android:proiect:2025:proiecte:tvshowfinder [2025/05/29 16:04] alexandra.moroiu created |
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 ===== | ||