/shows_vault

Discover your favorite movies and TV shows

Primary LanguageDartMIT LicenseMIT

Shows Vault

Dart version 3.5.0 Flutter version 3.24.0

Explore the world of movies and tv shows with Shows Vault, your go-to source for comprehensive information and in-depth credits on all your favorite films and series. Whether you're a casual viewer or a true cinephile, Shows Vault brings you everything you need to know about the stories, actors, and crew details that make your favorite titles memorable.

Table Of Contents

Policies

Developer Section

Anything you need to know if you want to contribute or just want to have a look.

Requirements

  • Flutter v3.24.0 for consistent dependencies.

    You may use fvm for easy installation.

    fvm use

Setup

  1. Install dependencies

    flutter pub get
  2. Intialize git hooks to validate commit messages

    dart run husky install
  3. Now you're good to go!

    flutter run -d <device-id>
    
    # Check connected devices
    flutter devices
    
    # Check available emulators
    flutter emulators

API Documentation

Project Structures

This project is follow the Clean Architecture principles.

  1. /lib — Source code

    1.1. /domain — Domain layer (Entities and services abstractions).

    1.2. /infrastructures — Infrastructure layer (Services implementations).

    1.3. /interfaces — Interfaces layer (Application routes, states, etc).

    1.4. /use_cases — Application logic layer.

Git Conventions

We use Conventional Commits to handle Git commit messages, and Github PR titles.

Look at commitlint.yaml to see supported commit types/scopes.

Issue Title

<type>(<scopes(optional)>): <content>

Examples

  • feat: add movies service
  • bug(interfaces): unresponsive movies page
  • test(use_cases): add tests for movies use cases

Commit Message / PR Title

<type>(<scopes(optional)>): <content> sv-<issue-number>

Examples

  • feat: add tv shows service sv-25
  • fix(interfaces): fix unresponsive movies page sv-250
  • fix(domain/infrastructures): fix error movies fetch sv-502

Branch Name

<type>-<content>-sv-<issue-number>

Examples

  • chore-commilint-sv-1
  • fix-unresponsive-movies-page-sv-250

Others

Other documentations that might be useful: