Flutter starter project - a template with best practices for starting a new app or becoming familiar with the architecture of our projects

Overview

Flutter starter project 🚦 📱 💻 🖥️

style: ficcanaso

Introduction

a template with best practices for starting a new app or becoming familiar with the architecture of our projects

Live Demo: https://patchaii.github.io/flutter_starter_project/


Tools


Installation

to verify proper installation

flutter doctor -v
  • add dotenv (filename: dotenv) file in the root of the project with:
ENDPOINT='https://graphql-pokemon2.vercel.app'
ENVIRONMENT='dev/prod/qa'

Architecture

https://pub.dev/packages/flutter_bloc

https://bloclibrary.dev/#/architecture

Test

brew install lcov
flutter test
  • coverage
flutter test --coverage
flutter test --coverage && lcov --remove coverage/lcov.info 'lib/*/*.freezed.dart' 'lib/*/*.g.dart' 'lib/*/*.part.dart' 'lib/core/gen/*.dart' -o coverage/lcov.info && genhtml coverage/lcov.info --output=coverage && open coverage/index.html
  • golden
flutter test --update-goldens

Mago Merlino

https://github.com/PatchAii/mago-merlino

  • generate a new feature (bloc/repo/view) using the magic powers of mago merlino:
# install dart
brew install dart

# activate ✨mago_merlino✨
dart pub global activate -sgit https://github.com/PatchAii/mago-merlino.git
# do some ✨magic✨
dart pub global run mago_merlino:mago_merlino create-feature --path lib/feature/abc

#or

dart pub global run mago_merlino:mago_merlino create-feature abc

Translations

Update transaltions:

make localisation

Usefull commands

# Code generator "build_runner"
flutter pub run build_runner build

# Code generator "build_runner" with confict remove
flutter pub run build_runner build --delete-conflicting-outputs

Notifications

Local and push notification are handled by Awesome_notification https://pub.dev/packages/awesome_notifications

To send a notification using FCM services, you need to send a POST to:

https://fcm.googleapis.com/fcm/send

To avoid misbehavior on Android and IOS you should send an empty notification field and use only data field for your data.

Here's an example of a POST request body:

{
    "to" : "[YOUR APP FCM TOKEN]",
    "mutable_content" : true,
    "content_available": true,
    "priority": "high",
    "data" : {
        "id": 100,
        "channelKey": "basic_channel",
        "title": "Basic message",
        "body": "This is the body of a basic FCM message"
    }
}

Inside headers define:

Content-type: application/json
Authorization: key=[server_key]

You might also like...

A re-modding of the Flutter 2.5 Skeleton App Template into something that really equally shows flutter best practices in DevOPS, OOP, and UX.

A re-modding of the Flutter 2.5 Skeleton App Template into something that really equally shows flutter best practices in DevOPS, OOP, and UX.

A re-modding of the Flutter 2.5 Skeleton App Template into something that really equally shows flutter best practices in DevOPS, OOP, and UX.

Dec 22, 2022

Your best flutter coding friend. All in one; state management, navigation management(with dynamic routing), local storage, localization, dependency injection, cool extensions with best usages and with the support of best utilities!

okito Your best flutter coding friend. All in one; state management, navigation management(with dynamic routing), local storage, dependency injection,

Jul 10, 2022

🚀 Sample Flutter Clean Architecture on Rorty App focused on the scalability, testability and maintainability written in Dart, following best practices using Flutter.

🚀 Sample Flutter Clean Architecture on Rorty App focused on the scalability, testability and maintainability written in Dart, following best practices using Flutter.

Rorty Flutter Rorty 📺 (work-in-progress for V2 👷 🔧️ 👷‍♀️ ⛏ ) Getting Started Flutter Clean Architecture in Rorty is a sample project that presents

Jan 1, 2023

[Flutter SDK V.2] - Youtube Video is a Flutter application built to demonstrate the use of Modern development tools with best practices implementation like Clean Architecture, Modularization, Dependency Injection, BLoC, etc.

[Flutter SDK V.2] - Youtube Video is a Flutter application built to demonstrate the use of Modern development tools with best practices implementation like Clean Architecture, Modularization, Dependency Injection, BLoC, etc.

[Flutter SDK V.2] - Youtube Video is a Flutter application built to demonstrate the use of Modern development tools with best practices implementation like Clean Architecture, Modularization, Dependency Injection, BLoC, etc.

Jan 2, 2023

best flutter / dart practices + Custom Painter + Sliver App Bar + Custom Scrollview

best flutter / dart practices + Custom Painter + Sliver App Bar + Custom Scrollview

Weekly Budget Flutter App A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get yo

Oct 21, 2021

a sample flutter app using Injection, routing and simple authentication follows clean code and best practices

a sample flutter app using Injection, routing and simple authentication follows clean code and best practices

Flutter Clean Project A sample flutter app using Injection, routing and simple authentication follows clean code and best practices Features Cleaned f

Jan 2, 2023

A Flutter Weather App primarily developed to showcase my technical knowledge as well as practices I believe are the best.

A Flutter Weather App primarily developed to showcase my technical knowledge as well as practices I believe are the best.

Weather One This is a Flutter Weather App primarily developed to showcase my technical knowledge as well as practices I believe are the best. The weat

Apr 27, 2022

🎬 Ditonton App is a Flutter application built to demonstrate the use of modern development tools with best practices implementation like Modularization, BLoC, Dependency Injection, Firebase Analytics & Crashlytics, Sqlite, Testing, CI/CD, etc.

🎬 Ditonton App is a Flutter application built to demonstrate the use of modern development tools with best practices implementation like Modularization, BLoC, Dependency Injection, Firebase Analytics & Crashlytics, Sqlite, Testing, CI/CD, etc.

Ditonton App Features Movies (Now Playing, Popular, Top Rated) TV Show (On The Air, Popular, Top Rated) Watchlist Movies & TV Show Search Movies & TV

Aug 12, 2023

🍕 FoodHub App is a Flutter application built to demonstrate the use of modern development tools with best practices implementation like Provider, Sqlite, Testing, Flash Dialog, Notification, Alarm Schedule, Dark Mode Theme, etc.

🍕 FoodHub App is a Flutter application built to demonstrate the use of modern development tools with best practices implementation like Provider, Sqlite, Testing, Flash Dialog, Notification, Alarm Schedule, Dark Mode Theme, etc.

FoodHub App Features List Restaurant Detail Restaurant Restaurant Favorite Search Restaurant Schedule Notification Dark Mode Theme Quick start This is

Jul 27, 2023

Flutter Navigation Best Practices including adapting navigation to platform and branding techniques for navigation surfaces.

Flutter Navigation Best Practices including adapting navigation to platform and branding techniques for navigation surfaces.

Flutter Navigation Best Practices including adapting navigation to platform and branding techniques for navigation surfaces.

Aug 22, 2022

🟧 Lints for Dart and Flutter based on software industry standards and best practices.

Solid Lints Flutter/Dart lints configuration based on software engineering industry standards (ISO/IEC, NIST) and best practices. Usage Add dependency

Oct 12, 2022

A basic boilerplate template for starting a Flutter GetX project. GetX, Dio, MVVM, get CLI, Localization, Pagination etc are implemented.

A basic boilerplate template for starting a Flutter GetX project. GetX, Dio, MVVM, get CLI, Localization, Pagination etc are implemented.

Flutter GetX Template (GetX, Dio, MVVM) This Flutter Template using GetX package for State management, routing and Dependency Injection (bindings). We

Jan 9, 2023

A starter kit for beginner learns with Bloc pattern, RxDart, sqflite, Fluro and Dio to architect a flutter project. This starter kit build an App Store app as a example

A starter kit for beginner learns with Bloc pattern, RxDart, sqflite, Fluro and Dio to architect a flutter project. This starter kit build an App Store app as a example

Flutter Starter Kit - App Store Example A starter kit for beginner learns with Bloc pattern, RxDart, sqflite, Fluro and Dio to architect a flutter pro

Jan 8, 2023

Clean architecture template project for new flutter applications.

Clean architecture template project for new flutter applications.

clean_template Clean architecture template project for new flutter applications. Implemented app logic RestClient - rest API client-server networking

Jul 27, 2022

Our application, MyArmyPal serves to be an all in one service for our service men.

Our application, MyArmyPal serves to be an all in one service for our service men.

Our application, MyArmyPal serves to be an all in one service for our service men. It seeks to provide convenience and useful features just one tap away. Its main features include an IPPT Calculator, reservist checklist, customized IPPT training plan according to the user's current fitness level and a canteen order pick up service in all army camps. We are also implementing an anytime Eliss system using computer vision for users to check on their push up form easily.

Jun 17, 2022

This is a template repository for starting flutter apps with some pre build codes.

flutter_mobile_template A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you

Nov 16, 2022

ABC of Flutter widgets. Intended for super beginners at Flutter. Play with 35+ examples in DartPad directly and get familiar with various basic widgets in Flutter

ABC of Flutter widgets. Intended for super beginners at Flutter. Play with 35+ examples in DartPad directly and get familiar with various basic widgets in Flutter

Basic Widgets Examples This is aimed for complete beginners in Flutter, to get them acquainted with the various basic widgets in Flutter. Run this pro

Jan 3, 2023

Fluent System Icons are a collection of familiar, friendly and modern icons from Microsoft.

Fluent System Icons are a collection of familiar, friendly and modern icons from Microsoft.

Fluent UI System Icons Fluent UI System Icons are a collection of familiar, friendly and modern icons from Microsoft. Icon List View the full list of

Dec 29, 2022

Project-x2 - A Flutter E-Commerce starter template that bootstraps development of your mobile application

Project-x2 - A Flutter E-Commerce starter template that bootstraps development of your mobile application

Flutter E-Commerce UI KIT A powerful Flutter E-Commerce starter template that bo

Apr 7, 2022
Owner
PatchAI
PatchAI
Biyi (比译) is a convenient translation and dictionary app written in dart / Flutter.

Biyi (比译) is a convenient translation and dictionary app written in dart / Flutter.

biyidev 897 Jan 9, 2023
A sound meter app. Made with Flutter.

A sound meter app. Made with Flutter.

Fareez Iqmal 7 Dec 21, 2022
A fitness app fetching data from Json built on flutter.

A fitness app fetching data from Json built on flutter.

null 0 Oct 5, 2021
A Google Analytics wrapper for command-line, web, and Flutter apps.

A wrapper around Google Analytics for command-line, web, and Flutter apps. For web apps To use this library as a web app, import the usage_html.dart l

Dart 139 Dec 15, 2022
This plugin allows Flutter desktop apps to defines system tray.

tray_manager This plugin allows Flutter desktop apps to defines system tray. tray_manager Platform Support Quick Start Installation ⚠️ Linux requireme

LeanFlutter 122 Dec 22, 2022
Instagram Clone made with Flutter

Instagram Clone made with Flutter

Hmida 22 Oct 14, 2022
A Flutter package that makes navigation and routing easy.

A Flutter package that makes navigation and routing easy.

null 197 Jan 5, 2023
Starter-Flutter - Starter flutter project for best architecture and seperation of code

Modular-Architecture Codebase CodeBase , Infrastructure and the common Layers (c

Ahmed Tawfiq 13 Feb 16, 2022
Starting template for a new Flutter project. Using clean architecture + Riverpod.

flutter_project_template_riverpod Installation Add Flutter to your machine Open this project folder with Terminal/CMD Ensure there's no cache/build le

Bahri Rizaldi 39 Dec 27, 2022