Coder Social home page Coder Social logo

movie_app_tutorial's Introduction

I am bringing a series of videos and articles for you to teach you how to build an Industry Standard Flutter Application from scratch. I am also putting up companion articles.

In this series, you’ll learn basic as well advanced topics in Flutter. At the end of this series, you’ll have successfully built an industry standard application with very good UI and a scalable code-base with some excellent coding practices.

You’ll use some of the basic and most commonly used Widgets and Plugins, as well as you’ll also work on some useful animations, complex widgets and state management techniques, preferably BLoC.

Over the series of articles and videos, I’ll show you how to implement clean architecture, bloc, API calls, error handling, hive storage, dependency injection, language management and many more important things needed to create an application.

You’ll create a responsive mobile application that doesn’t pixel out on various mobiles of different densities and resolutions. Since, the design that I have in hand is for Mobile Portrait, hence this app will not support landscape and web versions. That means, this app can run on landscape mode and browser, but will render its components in a bad way.

Having said that, if you need to learn landscape and web version of this application, do let me know and I will try to create a design that works on landscape and web.

So, Let’s get started.

What is this series?

It would be too verbose here to explain each and everything in the article, it would be much easier for you to see the final outcome yourself. Please visit the video and comeback again. https://youtu.be/jGZuJlsXHCA

How it's build?

Developing apps in Flutter gives you free hand to choose the architecture and libraries. With so many options in your hand you’ll often donate a lot of your time in selecting a specific architecture. Most popular and trustworthy architecture is Clean architecture, where you’ve separate layers for Presentation, Domain and Data.

That’s why, I will also teach you how to build application using Clean architecture.

Let’s create some folders and files. First, you’ll go to terminal and run the command

<iframe src="https://medium.com/media/6171fb705d3e30b5085d56e767afeebe" frameborder=0></iframe>

This will create an empty Flutter project with lib folder.

movie_app_tutorial's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

movie_app_tutorial's Issues

mapEventToState has been deprecated

Hello Sir. Prateek Sharma,

Thanks so much for this awesome tutorial, first all.
After following your tutorial, I found out that the mapEventToState method has been deprecated due to the flutter_bloc package update to version ^8.
If you could update your code to the latest version, that would be greatly appreciated. Alternatively, if possible, create a new tutorial using this example (with the latest version of the flutter_bloc package).

In order to get to my problem: https://youtu.be/-FNmRWtP_ek?list=PL342JVRNQxEAcQdnNeN0JmMzfcm6VtLxS (min 12:35)

issue on textsstyle extension

hello sir ...first or all thank you for this amazing tutorial
my problem is I'm having problem with extension for subtitle1,,,for royal blue color

navigation_drawer error

How can I correct this? I am using flutter sdk stable 2.0.2.
Thanks for great tutorial.

error: The named parameter 'child' isn't defined. (undefined_named_parameter at [movieapp] lib/presentation/journeys/drawer/navigation_drawer.dart:100)

 void _showDialog(BuildContext context) {
    showDialog(
      context: context,
      child: AppDialog(
        title: TranslationConstants.about,
        description: TranslationConstants.aboutDescription,
        buttonText: TranslationConstants.okay,
        image: Image.asset(
          'assets/pngs/tmdb_logo.png',
          height: Sizes.dimen_32.h,
        ),
      ),
    );
  }

BEST APPROACH WHEN INPUTTING DATA IN REPOSITORY

**WHICH OF THESE IS RECOMMENDED **

No 1.... (Inputting data as a model)
abstract class NoteRepository { Future<Either<AppFailure, List<NoteEntity>>> fetchAllNote(); Future addNote(NoteEntity note); Future updateNote(NoteEntity note); Future deleteNote(NoteEntity note); }

or
No2.... (Inputting data as a data type or separately😊)

abstract class NoteRepository { Future<Either<AppFailure, List<NoteEntity>>> fetchAllNote(); Future addNote({int id,String noteTitle,String note); Future updateNote({int id,String noteTitle,String note}); Future deleteNote({int id,String noteTitle,String note}); }

During the course of adding parameters should the parameters be a model or inputted separately

For Example
While trying to add new note in the app
Should approach No1 be used or No2

How to get the same instance of a Cubit in multiple screens using BlocProvider with get_it?

I have two screens, Screen A and Screen B. To redirect from Screen A to Screen B, I used the go_router implementation. I initialized the bloc in Screen A as shown below:

MultiBlocProvider(
  providers: [
    BlocProvider(create: (context) => getIt<ScreenOneCubit>()),
    BlocProvider(create: (context) => getIt<GenericFormFieldCubit<FormzInput>>()),
  ],
  child: ScreenA(),
);


For Screen B:


```

BlocProvider.value(
value: getIt(),
child: ScreenB(),
);


In Di.dart, I registered the ScreenOneCubit using




getIt.registerFactory(
() => ScreenOneCubit()
);


To redirect from Screen A to Screen B, I used GoRouter.of(context).pushNamed("screenB”).
I assumed that the BlocProvider.value in Screen B would get the same cubit instance as Screen A, but I was not expecting the same instance.
How can I get the same instance as Screen A in Screen B?

@PrateekSharma1712  @TechieBlossom   Could you provide some ideas?

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.