GithubHelp home page GithubHelp logo

g-app-template's Introduction

ApparenceKit flutter starter kit header


Apparence clients


style: lint

Apparance.io Flutter starter kit (Free version)

๐Ÿ”ฅ This template is a highly simplified version of our pro starter kit.

  • firebase firestore
  • Riverpod for state management
  • Simplified architecture
  • Basic github CI

Wanna use standard backend?
The pro version is for you.

Getting Started

๐Ÿ”ฅ Run the demo

You must have flutter properly installed on your computer. If not, please follow the official documentation.

Run on Android

Then launch VSCode and run the 'Development' configuration.
(Left pane > Run and Debug > Development > Start Debugging)

Run on iOS

You must first configure your iOS environment.
Please follow the guide here.
Then launch VSCode and run the 'Development' configuration.
(Left pane > Run and Debug > Development > Start Debugging)

As this project is setup for demo you must follow the installation guide to setup your own backend and firebase project.

Features

Features Included Pro version
๐Ÿงช Multiple environments (dev,staging,prod...) โœ… โœ…
๐Ÿ“ฆ Modular architecture example โœ… โœ…
๐Ÿ“ฒ Repository pattern example โœ… โœ…
โณ App initializer โœ… โœ…
๐Ÿ‘จโ€๐Ÿ’ป Authentication state โœ… โœ…
๐Ÿ”“ Guards example โœ… โœ…
๐Ÿ“ญ Email signup page โœ… โœ…
๐Ÿ“ฑ Easy bottom bar setup (+ adaptive with OS) โœ… โœ…
๐Ÿšฉ Basic Unit tests examples โœ… โœ…
๐Ÿ–ฅ๏ธ Basic CI setup โœ… โœ…
๐ŸŽจ Enhanced theme manager โŒ โœ…
๐Ÿš€ CLI commands โŒ โœ…
๐Ÿ” Switch between firebase / standard backend (CLI command) โŒ โœ…
๐Ÿ” Password recovery page โŒ โœ…
๐Ÿ–ฅ๏ธ Advanced CI setup โŒ โœ…
๐Ÿšฉ Advanced Unit tests examples โŒ โœ…
๐Ÿ’ผ Regular dependencies versions check โŒ โœ…
๐Ÿ”” Handle notifications โŒ โœ…
๐Ÿ’ฐ In app subscription (optionnal) โŒ โœ…
๐Ÿคฉ Google Ad mobs ready (optionnal) โŒ โœ…
๐Ÿ˜Ž Social authentications (CLI command) โŒ โœ…
๐Ÿ“‚ Storage api + download / upload example โŒ โœ…
๐Ÿ“„ Complete documentation โŒ โœ…
... and many more

Need more features? ๐Ÿ”ฅ Check the pro version

๐Ÿ“˜ Guides

Setup guides

  • How to install
  • Adding social authentications (not available in the free version)
  • Subscription module (not available in the free version)

Development guides

  • App architecture (not available in the free version)
  • Used Plugins and packages
  • Writing a module
  • Codes practices (not available in the free version)
  • Routes and navigation
  • Api and Http requests (not available in the free version)
  • Setup notifications (not available in the free version)
  • Localisation (not available in the free version)
  • Testing: how to write effective tests (not available in the free version)
  • Handling errors and monitoring (not available in the free version)

Deployment guides

Going further

  • Show ads with AdMob (not available in the free version)
  • Deep links (not available in the free version)

๐Ÿ‘‰ Code generation

As we use code generation in the whole project. You must run this command to regenerate all the generated code from @freezed or other like json. For more info refer to the freezed package documentation.

dart pub run build_runner build --delete-conflicting-outputs

๐Ÿ“ฆ Code architecture

As an app grow and can include more and more people, we prefer to make modular architecture as it prevent code conflicts.

Depending on the complexity of your project you can add another layer between object returned by firestore as Entities. So it will look like this. Firestore collection > entities > repository > model

File structure

TODO

  • core // shared code
  • modules // all modules codes environments // environments configurations main.dart // main app entry



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.