Skip to content

Spixz/Global-Tchat-Flutter-App

Repository files navigation

GlobalTchat

Web demo

second screen group

Messaging app (web/android) based on Whatsapp style using firebase and based on an implementation of the Riverpod Architecture from Andrea Bizzotto.

Features

  • Realtime Messaging
  • Group conversations
  • Send pictures
  • “Was read” indicator

Architecture

Architecture-transparant

Presentation Layer

It contain at least a view, a state and a controller.

The view represents the page itself. The logic of this view is managed by a Controller. This controller contains an immutable state (a class that contains variables). The view can read the state but can only modify it via the controller. Each time the state is modified, the widget is rebuilt.

Example with create conversation : view, controller, state

Domain Layer

Contains the defitions of the entities / objects used by the views, controllers. These objects are immutable in order to be able to propagate state changes in our application. The modification of a state is done by copy.

Model Layer

Communicates with external APIs (REST API, Local Storage API, ...) and converts the received data into models from the layer domain.

About

Global tchat application build with Flutter, Riverpod and Firebase.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages