DEV Community

Enzo Conty
Enzo Conty

Posted on

Flutter Stacked X Appwrite authentication

Overview of My Submission

Hello πŸ‘‹
First time experimenting with AppWrite, and I'm really happy to find some great concurrent to my usual BackOffice.

I didn't had a lot of time, and even less ideas, so I created a little application Android/iOS with Flutter a Google UI framework created in 2017. It uses the Google back-end language Dart created in 2011.

The application is based on a MVVM architecture using Stacked by FilledStacks as a state management. The usage of Stacked is for maintainability and readability. Stacked uses implicitly the Provider package.

As previously said, MoodyDiary is relying on the Stacked package. The main idea is to use an MVVM pattern to remove any business logic from the UI layouts by putting this logic in a separated view model. This adds more clarity and maintainability.

We can decompose the project into 4 layers: the Models, The Views, and finally the ViewModels.

current architecture

In the project, the views are for display only.
They can trigger interactions through Buttons/GestureDetector/Events that will call ViewModel methods.

The ViewModel data-bind all the data from the services and models and create getters for the view and notify the view of any changes (using a ReactiveServiceMixin or a NotifyListeners)

Submission Category:

Mobile Moguls

Link to Code

GitHub logo BLKKKBVSIK / moody_diary

A basic auth using Flutter with Stacked state management and Appwrite.io as BackOffice

Summary

MoodyDiary

The project is made with Flutter a Google UI framework created in 2017 It uses the Google back-end language Dart created in 2011, Dart

The application is based on a MVVM architecture using Stacked by FilledStacks as a state management. The usage of Stacked is for maintainability and readability. Stacked uses implicitly the Provider package.

Current architecture

As previously said, MoodyDiary is relying on the Stacked package. The main idea is to use an MVVM pattern to remove any business logic from the UI layouts by putting this logic in a separated view model. This adds more clarity and maintainability.

We can decompose the project into 4 layers: the Models, The Views, and finally the ViewModels.

In the project, the views are for display only.
They can trigger interactions through Buttons/GestureDetector/Events that will call ViewModel methods.

The ViewModel class can extend different types…

Additional Resources / Info

LoginScreen
RegisterScreen
Logged/Homepage

Top comments (0)