Coder Social home page Coder Social logo

rusyaev-dk / movies_app Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 29.42 MB

Movie encyclopedia application. The design was inspired by the 'Kinopoisk' app.

License: MIT License

Kotlin 0.03% Swift 0.18% Objective-C 0.01% Dart 99.42% Ruby 0.36%
dart flutter movie-database

movies_app's Introduction

๐ŸŽฅ Movies App

This Flutter application serves as a film encyclopedia, fetching data from The Movie Database (TMDB) API. Below are the key features and architectural details of the application and screenshots:

Architecture

The application architecture is divided into three layers: data, domain, and presentation.

  • Data Layer: Responsible for interacting with external data sources, such as APIs or databases and making http requests. Clients in this layer handle data retrieval and storage.

  • Domain Layer: Repositories in this layer follow patterns that define their behavior, allowing for flexible and clean logic inside the BLoC handlers.

  • Presentation Layer: Handles the user interface and user interaction. It includes widgets, screens, and BLoC components.

State Management

BLoC (Business Logic Component) is used for state management in the application. BLoC architecture separates business logic from UI components, making the application more modular and easier to maintain.

Navigation

The go_router package is used for navigation within the application. It provides a flexible and declarative way to define routes and handle navigation events.

Error Handling

The application has its own hierarchy of errors and error handlers. Error handling is implemented throughout the application, including network-related errors and other types of exceptions.

Logging

Logging functionality is integrated into the application to provide insights into the application's behavior and aid in debugging. Navigation logging is also implemented to track navigation events.

Data Storage

Two types of data storage are utilized in the application:

  • SharedPreferences: Used for storing regular data.
  • FlutterSecureStorage: Utilized for storing authentication and session-related data securely.

Screenshots

Auth screen Home screen Home screen 2 Grid view
Movie details 1 Movie details 2 Movie details 3
TV Series details 1 TV Series details 2 TV Series details 3
Search screen Filters sheet Watchlist screen Account screen

movies_app's People

Contributors

rusyaev-dk avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.