Skip to content

Latest commit

Β 

History

History
65 lines (42 loc) Β· 2.05 KB

File metadata and controls

65 lines (42 loc) Β· 2.05 KB

Flutter starter kit

Built with clean architecture and domain driven design with clear seperation of Presentation, Domain and Data layers.

βœ… Presentation layer: Contains

πŸ”† UI components like widgets and screens

πŸ”† BLoC: State management layer

πŸ”† View model

βœ… Domain layer: Contains

πŸ”† Data model / Data class to be used for the presentation layer

πŸ”† Mapper: Combines data from more than one data classes

πŸ”† Abstract repository

βœ… Data layer: Contains the implementation of repository which defines the data source (local or remote)

βœ… Data flows: From data layer to presentation layer

βœ… Call flows: Presentation layer to data layer

Technical design

Architecture technical design

πŸ’‘ Get started

  1. Download the configuration file from the Firebase Console (the file is called google-services.json). Add this file into the android/app directory within your Flutter project.

  2. Download the configuration file from the Firebase Console (the file is called GoogleService-Info.plist). Add this file via this instruction.

  3. Create file web/config/firebase_config.js. This file should contain the configuration for firebase as you can see web/config/firebase_config.js.example.

/// Copy and paste the following information
/// from your firebase console and save the file as
/// firebase_config.js

// Your web app's Firebase configuration
// For Firebase JS SDK v7.20.0 and later, measurementId is optional
var firebaseConfig = {
  apiKey: "<Your API Key>",
  authDomain: "Your Auth Domain",
  projectId: "Your Project ID",
  storageBucket: "Your storage bucket",
  messagingSenderId: "Your Messaging Sender ID",
  appId: "Your App ID",
  measurementId: "Your Measurement ID",
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);
firebase.analytics();

NOTE: Please run the shell script to generate code before flutter pub get

sh script/code_generator.sh