hireflutter-dev / start-flutter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

License:MIT License


Languages

Language:Dart 95.7%Language:HTML 2.6%Language:Ruby 1.3%Language:Swift 0.3%Language:Shell 0.1%Language:Kotlin 0.1%Language:Objective-C 0.0%