Skip to content

iamyuu/flutter_movie_app

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gdg_depok_2019_beginner

Flutter application for sharing session in GDG Depok 2019

CODELAB - MOVIE App

This project is using framework Flutter

N|Solid

This project is using Uncle Bob's clean architecture approach :

Getting started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Dependency Management

Additional Dependencies that we're gonna use :

  • dio - A powerful Http client for Dart, which supports Interceptors, Global configuration, FormData, Request Cancellation, File downloading, Timeout etc.
  • meta - Annotations package
  • Json Serializable - Provides Dart Build System builders for handling JSON.
  • Shimmer - A package provides an easy way to add shimmer effect in Flutter project

Introduction Clean Architecture

The idea is simple: clean architecture stands for a group of practices that produce systems that are:

  • Independent of Frameworks.
  • Testable.
  • Independent of UI.
  • Independent of Database.
  • Independent of any external agency.

Clean Architecture diagram

It is not a must to use only 4 circles (as you can see in the picture), because they are only schematic but we should take into consideration the Dependency Rule: source code dependencies can only point inwards and nothing in an inner circle can know anything at all about something in an outer circle.

Here is some vocabulary that is relevant for getting familiar and understanding this approach in a better way:

  • Entities: These are the business objects of the application.
  • Use Cases: These use cases orchestrate the flow of data to and from the entities. Are also called Interactors.
  • Interface Adapters: This set of adapters convert data from the format most convenient for the use cases and entities. Presenters and Controllers belong here.
  • Frameworks and Drivers: This is where all the details go: UI, tools, frameworks, etc.

Architectural Approach

Architectural Approach

Architectural Reactive Approach

Architectural Reactive Approach

Clean Architecture that will we use

Clean Architecture Pattern

Introduction of Bloc

Its a state management system for Flutter recommended by Google developers. It helps in managing state and make access to data from a central place in your project.

Bloc pattern for Flutter

About

Example Flutter repo for GDG Depok workshop

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 96.6%
  • Swift 1.7%
  • Kotlin 1.5%
  • Objective-C 0.2%