This shows you the differences between two versions of the page.
android:proiect:2025:proiecte:tvshowfinder [2025/05/29 21:10] alexandra.moroiu |
android:proiect:2025:proiecte:tvshowfinder [2025/05/31 12:48] (current) alexandra.moroiu |
||
---|---|---|---|
Line 4: | Line 4: | ||
**Name**: Moroiu Alexandra-Maria\\ | **Name**: Moroiu Alexandra-Maria\\ | ||
- | **Group**: SSA1-C | + | **Group**: SSA1-C\\ |
+ | **Github repo**: [[https://github.com/Android-Course-UPB/project-sidereal-sky|Project link]] | ||
Line 10: | Line 11: | ||
===== Introduction ===== | ===== 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. | 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 ===== | ===== Main Features ===== | ||
Line 18: | Line 20: | ||
* List of episodes organized by season | * List of episodes organized by season | ||
- Dark/Light theme support | - 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> | ||
+ | |||
+ | |||
+ | |||
Line 36: | Line 55: | ||
- Settings Screen | - Settings Screen | ||
* Toggle between light and dark theme | * 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 | ||
+ | |||
+ | |||