Skip to content

Latest commit

 

History

History
109 lines (71 loc) · 3.66 KB

README.md

File metadata and controls

109 lines (71 loc) · 3.66 KB

TSDB - TheSeriesDataBase 🎬

License: MIT

Generated by the Very Good CLI 🤖

A Very Good Project created by Very Good CLI.

TheSeriesDatabase


Getting Started 🚀

This project contains 3 flavors:

  • development
  • staging
  • production

To run the desired flavor either use the launch configuration in VSCode/Android Studio or use the following commands:

# Development
$ flutter run --flavor development --target lib/main_development.dart

# Staging
$ flutter run --flavor staging --target lib/main_staging.dart

# Production
$ flutter run --flavor production --target lib/main_production.dart

*The Series Db works on iOS, Android, Web, and Windows.


Running Tests 🧪

To run all unit and widget tests use the following command:

$ flutter test --coverage --test-randomize-ordering-seed random

To view the generated coverage report you can use lcov.

# Generate Coverage Report
$ genhtml coverage/lcov.info -o coverage/

# Open Coverage Report
$ open coverage/index.html

App Architecture

TheSeriesDatabase

Using the bloc library allows us to separate our application into three layers:

  • Presentation

    • This layer holds all the widgets, along with their blocs. Widgets do not communicate directly with the repository.
  • Business Logic

    • Consumes the domain model from the repository layer and expose a feature-level model which will be surfaced to the user via UI.
  • Data

    • Repository: Abstract the data layer and expose domain models for the application to consume, facilitating the communication with the Bussiness Logic layer.
    • Data Provider: The data layer contains a single weather repository that is used to fetch weather raw data from the API.

Supported Features

  • List all the TVMaze's Tv Shows catalog with pagination
  • Search for an specific catalog the Search Tab
  • Show details and all the episodes from all the seasons of a Tv Show

Packages in use

About the TVMaze API

The app shows data from the following endpoints:

Note: to use the API you don't need to have your own API key.