All Projects → cingulo → Flutter Sample

cingulo / Flutter Sample

Licence: mit
A fully working boilerplate sample Flutter app implementation.

Programming Languages

dart
5743 projects

Projects that are alternatives of or similar to Flutter Sample

React Expressjs
Simple and compact boilerplate for ReactJS project with expressJS
Stars: ✭ 208 (-8.77%)
Mutual labels:  boilerplate
Stator
Stator, your go-to template for the perfect stack. 😍🙏
Stars: ✭ 217 (-4.82%)
Mutual labels:  boilerplate
Appy
🚀 A full stack boilerplate web app
Stars: ✭ 225 (-1.32%)
Mutual labels:  boilerplate
Vue Foundation
VueJS + Foundation + Vue-Router + Webpack
Stars: ✭ 212 (-7.02%)
Mutual labels:  boilerplate
Nodejs Package
Node.js boilerplate package
Stars: ✭ 214 (-6.14%)
Mutual labels:  boilerplate
Serverless Slack App
A Serverless.js Slack App Boilerplate with OAuth and Bot actions
Stars: ✭ 217 (-4.82%)
Mutual labels:  boilerplate
React Cordova Boilerplate
TodoMVC example for react with development tools to build a cordova application
Stars: ✭ 206 (-9.65%)
Mutual labels:  boilerplate
React Npm Boilerplate
Boilerplate for creating React Npm packages with ES2015
Stars: ✭ 226 (-0.88%)
Mutual labels:  boilerplate
Vue Element Starter
Vue starter with Element-UI [READY, unmaintained now]
Stars: ✭ 216 (-5.26%)
Mutual labels:  boilerplate
Slapdash
Boilerplate for bootstrapping scalable multi-page Dash applications
Stars: ✭ 225 (-1.32%)
Mutual labels:  boilerplate
Rust Web Boilerplate
Rust web template for modern web backend applications
Stars: ✭ 211 (-7.46%)
Mutual labels:  boilerplate
Express Es6 Rest Api
🔋 Starter project for an ES6 RESTful Express API.
Stars: ✭ 2,401 (+953.07%)
Mutual labels:  boilerplate
Nginx Boilerplate
Awesome Nginx configuration template
Stars: ✭ 2,437 (+968.86%)
Mutual labels:  boilerplate
Mern Boilerplate
MERN stack project boilerplate
Stars: ✭ 211 (-7.46%)
Mutual labels:  boilerplate
Aspnetcore.template
ASP.NET core mvc project template for real world applications
Stars: ✭ 226 (-0.88%)
Mutual labels:  boilerplate
Create Aio App
The boilerplate for aiohttp. Quick setup for your asynchronous web service.
Stars: ✭ 207 (-9.21%)
Mutual labels:  boilerplate
Commerceql
UNMAINTAINED
Stars: ✭ 217 (-4.82%)
Mutual labels:  boilerplate
Flask Base
A simple Flask boilerplate app with SQLAlchemy, Redis, User Authentication, and more.
Stars: ✭ 2,680 (+1075.44%)
Mutual labels:  boilerplate
Static Html Webpack Boilerplate
🔮 modern tooling for old-school static webpage development
Stars: ✭ 226 (-0.88%)
Mutual labels:  boilerplate
Frontend Boilerplate
An ES20XX starter with common frontend tasks using Webpack 4 as module bundler and npm scripts as task runner.
Stars: ✭ 224 (-1.75%)
Mutual labels:  boilerplate

Cíngulo Flutter Sample

Warning / Deprecated

I currently discourage discourage the usage of this architecture. These are some of the main reasons, also serving as a north about what to do:

  • I think life can be easier by using MobX instead of BLoC.
  • inject.dart still hasn't been published, prefer GetIt but notice that they are different things (injector vs service locator).
  • Refactor the remaining singleton intances (app bloc, error, services) to not be singletons. Use GetIt and create a service locator for them. This will make testing easier.
  • The auth and accounts repository are a little messy, code can be even simpler and cleaner on them.

About

Working with Flutter 1.12.13+hotfix.5

Status develop
Travis CI Build Status
Coveralls Coverage Status

Check out a short demo video here.
Check out some screenshots here.

A fully working sample Flutter app implementation. Give this repo a Star if you like it :)

  • Layers separation (data, domain, logic, ui)
  • Network calls and very simple caching and concurrency mechanism
  • Generic error handling
  • Forms validation
  • Generic bloc structure
  • RxDart
  • Dependency injection
  • Authentication with JWT and daily renewal (simple, no distinct access/refresh or sliding tokens).
  • Themes
  • Multiple languages
  • Named routes
  • Named routes with parameters
  • Names routes with simple permission control
  • Analytics and pushes skeleton
  • We have published the API so that you can test the app
  • Looks good but... it is still missing tests (TODO) :(

Dependency Injection

This project uses inject.dart. We only had to fork it from Google in order to bump a version dependency. You will have to clone it under vendor/inject.dart:

    $ cd <repository-root>
    $ git clone https://github.com/cingulo/inject.dart.git vendor/inject.dart

Use the commands below to build the dependency injection:

    $ flutter packages pub run build_runner build --build-filter "lib/data/*/*.dart" --delete-conflicting-outputs
    $ flutter packages pub run build_runner build --build-filter "lib/app/*.dart" --delete-conflicting-outputs
  • Done, you should now be good to run the app.

Structure

  • app/ Where the starting MaterialApp resides.
  • common/ Abstract app-wide base classes.
  • data/ Data handling.
  • data/*_repository.dart Frontier between app models and data storage.
  • errors/ Custom app errors.
  • models/ App models, independent of how data/*_repository.dart handles it (db, api, file, in memory, etc).
  • screens/ App screens, may also have screen-specific sub widgets.
  • screens/*_bloc.dart Screen/widget business logic.
  • services/ App-wide logic like analytics, crashes, l10n, pushes, refresh and routes.
  • themes/ App themes.
  • widgets/ App-wide widgets. Design system components would reside here, for example.
  • env.dart Envs.
  • main.dart Entry point.

Routes

Routes must be instantiated here to be available for navigation.

L10n

L10n delegates must be listed here to be available.

API Docs

Open the docs URL in your browser. You can also check the API GitHub repository.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].