VictorUvarov / Provider_architecture_template
Licence: mit
A production ready flutter application template for the provider architecture.
Stars: โญ 148
Programming Languages
dart
5743 projects
Labels
Projects that are alternatives of or similar to Provider architecture template
Restapimvvm
App that interacts with a Rest Api. Architecture is MVVM.
Stars: โญ 130 (-12.16%)
Mutual labels: architecture
Android Modular Architecture
๐ Sample Android Components Architecture on a modular word focused on the scalability, testability and maintainability written in Kotlin, following best practices using Jetpack.
Stars: โญ 2,048 (+1283.78%)
Mutual labels: architecture
Weekly.manong.io
็ ๅๅจๅ - ๅฒไธๆๅ
จ็็ผ็จๅญฆไน ่ตๆๅ้๏ผๆ็ปญๆดๆฐ๏ผ
Stars: โญ 1,796 (+1113.51%)
Mutual labels: architecture
Armscomponent
๐ฆ A complete android componentization solution, powered by MVPArms (MVPArms ๅฎๆนๅฟซ้็ปไปถๅๆนๆก).
Stars: โญ 1,664 (+1024.32%)
Mutual labels: architecture
Mosby Conductor
Plugin for conductor to integrate Mosby
Stars: โญ 134 (-9.46%)
Mutual labels: architecture
Android Base Mvp
Android Base MVP Concept with RXJava, Dagger, Event Bus, Retrofit, Glide, OkHTTP
Stars: โญ 141 (-4.73%)
Mutual labels: architecture
Generator Android Mvp Starter
[Yeoman Generator] Generate MVP Architecture for Android App using https://git.io/v9Ujz
Stars: โญ 129 (-12.84%)
Mutual labels: architecture
Kingly
Zero-cost state-machine library for robust, testable and portable user interfaces (most machines compile ~1-2KB)
Stars: โญ 147 (-0.68%)
Mutual labels: architecture
Pipelinr
PipelinR is a lightweight command processing pipeline โ โข โ โข โ for your Java awesome app.
Stars: โญ 134 (-9.46%)
Mutual labels: architecture
Reference Architecture
TELUS Reference Architecture Documentation
Stars: โญ 145 (-2.03%)
Mutual labels: architecture
Swift Cleanarchitecture
Simple Swift project applying concepts inspired on the Clean Architecture
Stars: โญ 133 (-10.14%)
Mutual labels: architecture
Go Clean Architecture
๐จโ๐ป REST API example, built by following Uncle Bobโs clean architecture principles
Stars: โญ 133 (-10.14%)
Mutual labels: architecture
Cleanarchitecture.workerservice
A solution template using Clean Architecture for building a .NET Core Worker Service.
Stars: โญ 142 (-4.05%)
Mutual labels: architecture
Cocktailapp
Cocktails Android App with Clean Architecture, MVVM , Retrofit, Coroutines, Navigation Components , Room, Dagger Hilt, Cache Strategy and Coroutines Flow
Stars: โญ 128 (-13.51%)
Mutual labels: architecture
Suas Ios
Unidirectional data flow architecture implementation for iOS, macOS, tvOS and watchOS
Stars: โญ 147 (-0.68%)
Mutual labels: architecture
Swiftdux
Predictable state management for SwiftUI applications.
Stars: โญ 130 (-12.16%)
Mutual labels: architecture
Style
[Deprecated], Not maintain anymore. A live wallpaper project
Stars: โญ 141 (-4.73%)
Mutual labels: architecture
Pytorch Vae
A Collection of Variational Autoencoders (VAE) in PyTorch.
Stars: โญ 2,704 (+1727.03%)
Mutual labels: architecture
Android Clean Architecture Boilerplate
Apply clean architecture on Android
Stars: โญ 141 (-4.73%)
Mutual labels: architecture
provider_start
A production ready flutter application template for the provider architecture.
Inspiration
- This project is a starting point for a Flutter application using the provider architecture.
- This project heavily uses the flutter tutorials and snippets of the filled stacks YouTube channel.
- Feel free to send in Pull Requests to improve the application.
Filled Stacks Links:
Setup
Generate your platform specific folders with kotlin/swift
flutter create .
or generate your platform specific folders with objc/java
flutter create -i objc -a java .
Since this project uses 3 locales add this to your info.plist
<key>CFBundleLocalizations</key>
<array>
<string>es</string>
<string>ru</string>
<string>en</string>
</array>
Generate the launcher icon (optional)
flutter pub get && pub run flutter_launcher_icons:main
Folder structure
.
โโโ core
โ โโโ constant
โ โโโ data_sources
โ โโโ enums
โ โโโ exceptions
โ โโโ localization
โ โโโ managers
โ โโโ mixins
โ โโโ models
โ โโโ repositories
โ โโโ services
โ โโโ utils
โโโ ui
โโโ shared
โโโ views & viewModels
โโโ widgets
Features
Master branch
- [x] bottom navigation bar
- [x] intuitive UI router
- [x] script for auto formatting on commits
- [x] localization
- [x] validation mixin for forms
- [x] json serialization
- [x] auth service example
- [x] dialog service
- [x] connectivity service
- [x] hardware info service
- [x] http service
- [x] navigation service
- [x] key storage service
- [x] local storage service (NoSQL)
- [x] system light/dark theme support
- [x] platform adaptive widgets
- [x] life cycle manager to start/stop background services
- [x] app settings launcher
- [x] custom fonts
- [x] custom app icons
- [x] custom native splash screen
- [x] snack bar service
- [x] unit tests
- [x] view model tests
- [ ] widget tests
- [ ] responsive views
Geolocator branch
- [x] location service
- [x] location permission service
Example pages included
- Home View (Renders a list of posts fetched from JSON place holder API)
- Login View (Form that simulates user login and form validation)
- Main View (View that handles tab navigation)
- Splash View (Initial loading screen that uses flare animations)
- Post Details (Dynamic view that loads the post's user information)
- Settings View (Example view that launches app settings and signs out user)
Getting started
- run
chmod +x ./format.sh && ./format.sh
to setup git pre commit formatting or - run
chmod +x ./manual_format.sh
and run./manual_format.sh
whenever you want to format the dart code - run
flutter packages pub run build_runner build --delete-conflicting-outputs
if you plan to add/change any serializers once - run
flutter packages pub run build_runner watch --delete-conflicting-outputs
if you plan to add/change any serializers multiple times - Setup derry (optional) to avoid typing the above commands manually
Adding support for another language
- Find the language local code from here codes
- Inside of
lib/local_setup.dart
add the local code tosupportedLocalCodes
- Add the local code to the
CFBundleLocalizations
array inios/Runner/Info.plist
- Create a
<local>.json
file under assets/lang/ and fill out every value for your language - Run
flutter clean
inside you lib apps directory if flutter complains - There is also a different way to implement locals using the intl package. An example on how to do so can be found here
Adding app icon
- Change icon
assets/images/logo.png
to another image - If new icon has a different path update
flutter_icons:
in thepubspec.yaml
file - Run
flutter pub get
and thenflutter pub run flutter_launcher_icons:main
Adding another route
- create your view and view model in
lib/ui/views/<view-folder>/
- add your view to the list of routes in
lib/ui/router.dart
- generate the new router with
flutter packages pub run build_runner build --delete-conflicting-outputs
Adding another model
Simple model
- Create a
<YOUR_MODEL>.dart
undercore/models/<YOUR_MODEL>/<YOUR_MODEL>.dart
- Copy the
AlertRequest
fromcore/models/alert_request/alert_request.dart
and replace all the class model names with<YOUR_MODEL>
- Add your own custom getter values.
- Add a part file. Ex:
<YOUR_MODEL>.g.dart
above the class - Run
flutter packages pub run build_runner build --delete-conflicting-outputs
to build your new model
Serializable model
- Create a
<YOUR_MODEL>.dart
undercore/models/<YOUR_MODEL>/<YOUR_MODEL>.dart
- Copy the
User
fromcore/models/user/user.dart
and replace all the class model names with<YOUR_MODEL>
- Add your own custom getter values.
- Add
<YOUR_MODEL>
to the list in@SerializersFor
class constructor found undercore/models/serializer.dart
- Run
flutter packages pub run build_runner build --delete-conflicting-outputs
to build your new model
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].