An open API service indexing awesome lists of open source software.

https://github.com/ziadasem/flutter_chatting_app

Chat App built with flutter, firebase and SQL
https://github.com/ziadasem/flutter_chatting_app

flutter flutter-app flutter-example-app flutter-examples

Last synced: 10 months ago
JSON representation

Chat App built with flutter, firebase and SQL

Awesome Lists containing this project

README

          

## Flutter Chat App
       chat app built with flutter, SQLite and firebase. This is a project from **flutter course -Pixels’22** projects.

**Application functionalities**

1. Theme and Application identity can be configured from *config.dart*
2. Authentication using Firebase authentication service
3. login using google accounts
4. load recent chats and contacts from offline DB -SQLite-
5. synchronize firebase documents with SQLite tables
6. send and save messages in firestore
7. adding new contacts by QR code scanning

**Screenshots**


![intro screen](https://drive.google.com/uc?id=1wT5G1ibc0_0FVCaW5y0TFeLheTLLWUgv)

![sign up screen](https://drive.google.com/uc?id=1e2Z_MjzLtHLYz-kfGVePFCs65JuV9S-f)


![Recent chats](https://drive.google.com/uc?id=15C9GTyk4NgtWIdv5cPTWq9v9G15mlRJX)


![messages screen](https://drive.google.com/uc?id=12o_u5aXMBZuEDhxVmUjxQs34WreuqsMW)


![contacts](https://drive.google.com/uc?id=178KAmv9pUhVIqAc9-2cG9vHq_7p2cmTh)


![QR scanning](https://drive.google.com/uc?id=1wmNuo_gJVCL4TuTkwOwAiEhaTAaHBAQw)


![profile](https://drive.google.com/uc?id=1gCzXUrZ43g6IIm9S_ntikYs4Va8zYErc)


![share contact](https://drive.google.com/uc?id=1cv1ADXnwu6kz0vhp-FFNI0UDgYDSo9bK)

**Application Architecture**

  **Configuration**

      *contains config class which contains static properties of application theme data and identity*

  **Model**

      *contains DB functions which are functions that do the SQL command in the back scenes and allow the developers to use it without knowledge of SQL commands*

  **Providers**

      *state providers that load and save the data from firestore or database and provide them to different screens of application*

  **Screens**

      *screens of the application*

  **utils**

      *contain utility functions that can be used in different flutter projects*

  **widgets**

      *contain different widgets used inside the application*