Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/deandreamatias/tv-randshow

App to choose a random TV show episode - Made with #Flutter
https://github.com/deandreamatias/tv-randshow

android dart flare-animation flutter flutter-app flutter-apps hive sqflite streaming tmdb tv-randshow

Last synced: 2 days ago
JSON representation

App to choose a random TV show episode - Made with #Flutter

Awesome Lists containing this project

README

        



TV Randshow website


Get it on Google Play

## TV Randshow - App to choose a random TV show episode

[![Tests](https://api.codemagic.io/apps/5ea04fef2173e4001d6d6c75/6210143b0b28f63215deee7d/status_badge.svg)](https://codemagic.io/apps/5ea04fef2173e4001d6d6c75/6210143b0b28f63215deee7d/latest_build)
[![Releases](https://img.shields.io/github/v/release/deandreamatias/tv-randshow)](https://github.com/deandreamatias/tv-randshow/releases)
[![Google Play](https://img.shields.io/badge/google--play-Google--Play-green?label=App)](https://play.google.com/store/apps/details?id=deandrea.matias.tv_randshow)
[![IzzyOnDroid](https://img.shields.io/endpoint?url=https://apt.izzysoft.de/fdroid/api/v1/shield/deandrea.matias.tv_randshow/)](https://apt.izzysoft.de/fdroid/index/apk/deandrea.matias.tv_randshow/)
[![Website](https://img.shields.io/website?up_message=online&url=https%3A%2F%2Ftvrandshow.com%2F)](https://tvrandshow.com/)
[![Paypal donate](https://img.shields.io/badge/paypal-donate-blue)](https://www.paypal.com/donate/?hosted_button_id=QWL5BXSRLCUJJ)
[![Trello](https://img.shields.io/badge/trello-roadmap-blue)](https://trello.com/b/ib0jdUzK)

### About the project

TV Randshow was created to help choose a random episode from your favorites TV shows.
The TV shows database comes from the TMDB and the app saves them in a database on the device. With the list of favorites, you can roll the dice of a TV show to get a random episode.

This project has been built using the [Flutter](https://flutter.dev/) framework, which allows to build an multiplatform app from a single codebase.






## Features

- **Save your favorites TV shows with available streamings links**
- **Choose a random episode from a single TV show**
- **Choose a random episode from all saved TV shows**
- **Choose a random TV show from trending TMDB**
- **Support to Android and Web**
- **Export saved TV shows to json**
- **Dark mode**
- **Material Design 3**
- **Roadmap in [public Trello](https://trello.com/b/ib0jdUzK)**

## Build and run

### Requirements

1. Clone repository with 'git clone' command or just download the zip. `git clone [email protected]:deandreamatias/tv-randshow.git`
2. Prepare your develop enviroment
1. Flutter (see version in `.fvmrc`). Use [FVM 3.0](https://fvm.app/docs/getting_started/installation) to install Flutter versions
2. When build to iOS, follow [this steps](https://docs.flutter.dev/get-started/install/macos#install-xcode)
3. When build to Android, follow [this steps](https://docs.flutter.dev/get-started/install/macos#install-android-studio)
3. Install dependencies and generate code
1. Only use `sh tool/setup.sh`
2. If don't have just, can do manual proccess
1. Run `flutter pub get` from the project root (see [using packages documentation](https://flutter.dev/docs/development/packages-and-plugins/using-packages#adding-a-package-dependency-to-an-app) for details and how to do this in the editor).
2. Run `flutter pub run build_runner build`
4. Get your own API keys
1. Get your API Key from TMDB (see [this FAQ](https://www.themoviedb.org/faq/api) for more details).
2. Get your API Key from Streaming Availabilty (on [RapidApi](https://rapidapi.com/movie-of-the-night-movie-of-the-night-default/api/streaming-availability))
3. Paste your API keys values in `.env/dev.json` or `.env/prod.json` files. Take `.env/dev.example.json` like example.
5. (Optional) If you want build to web, do you need follow [this steps](https://flutter.dev/docs/get-started/web)

### Run

Run `sh tool/run.sh dev` command or copy the command from `tool/run.sh`.

### Tests

- Integration tests (only mobile): run `sh tool/integration-test.sh` command or copy the command from `tool/integration-test.sh`.
- Unit tests: run `sh tool/unit-test.sh unit` command or copy the command from `tool/unit-test.sh`.

### Build

- Android APK: Run `sh tool/build-android.sh apk` command or copy the command from `tool/build-android.sh`.

## Author

- **Matias de Andrea** - Mobile developer: [Website](https://deandreamatias.com)

## Contributing

If you want to take the time to make this project better, please read the [contributing guides](https://github.com/deandreamatias/tv-randshow/blob/master/CONTRIBUTING.md) first. Then, you can open an new [issue](https://github.com/deandreamatias/tv-randshow/issues/new/choose), of a [pull request](https://github.com/deandreamatias/tv-randshow/compare).

## Powered by

TV information and images are provided by TMDb, but we are not endorsed or certified by TMDb.com or its affiliates.