A chatapp built with Flutter and Firebase
The chat app architecture consists of the following components:
-
Backend server: This handles storing and retrieving chat messages, as well as user authentication and authorization.
-
Client app: This is the mobile or web application used by users to interact with the chat service. It communicates with the backend server to send and receive messages.
-
Database:This is used to store the chat messages and related data. I will be using Firebase Firestore for storing data.
-
Real-time messaging system: This is used to send and receive messages in real-time. Common real-time messaging systems include WebSockets and Firebase Realtime Database. I will use Firestore since it can handle more complex queries than Firebase Realtime Database.
-
User authentication and authorization system: This is used to verify the identity of users and ensure they have permission to access certain chat rooms or conversations. I will be using Firebase Authentication (Email and Password).
-
UI/UX design: This includes the visual and interactive components of the app, such as the chat interface and settings menus. I am using Material Design from Material 3.