This Flutter chat app is a real-time messaging application that allows users to engage in seamless conversations. The app is built using Flutter for the front end, and it communicates with a Node.js backend server that utilizes Express, MongoDB for data storage, and sockets for real-time communication.
The app includes dedicated pages for user authentication, allowing users to log in or sign up to access the chat functionality.
This widget includes two main actions: a signout button and an online status icon, which represents the socket server's status.
A user list page displays all users along with their online status. Users can easily identify who is online and initiate chats.
The chat page provides a user-friendly interface for users to engage in real-time conversations. The chat history between two users is displayed, and new messages are instantly updated.
State management is handled efficiently using the Provider package, ensuring a seamless and reactive user interface.
The HTTP package is used to make secure and reliable network requests between the Flutter app and the Node.js backend server.
User authentication details are securely stored using the flutter_secure_storage package, ensuring the safety of sensitive information.
Real-time communication is achieved using the Socket.io client package, enabling instant message updates and notifications in the chat.
To check out this repo, click here.
Users can send and receive messages in real-time, providing a smooth and interactive chat experience.
Secure user authentication is implemented using JSON Web Tokens (JWT), ensuring a safe and personalized messaging experience.
Messages and user data are stored in a MongoDB database. MongoDB Compass, a graphical user interface, can be used for easy database management. Additionally, MongoDB Atlas, a cloud-based database service, offers a scalable and reliable solution for data storage.
Real-time communication is achieved through Socket.io, enabling instant message updates and notifications.