https://github.com/raffashe/chat_online
Chat Online is a real-time chat app, built with Flutter and integrated with Firebase for authentication and message storage. It includes sign-up, login, conversation list, and chat, as well as state management with Provider and MVVM architecture.
https://github.com/raffashe/chat_online
clean-architecture cloud firebase-auth flutter mvvm-architecture provider-state-management real-time-chat reposive state-management ui
Last synced: 3 months ago
JSON representation
Chat Online is a real-time chat app, built with Flutter and integrated with Firebase for authentication and message storage. It includes sign-up, login, conversation list, and chat, as well as state management with Provider and MVVM architecture.
- Host: GitHub
- URL: https://github.com/raffashe/chat_online
- Owner: raffashe
- License: mit
- Created: 2024-11-26T16:52:53.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-12-12T19:31:07.000Z (10 months ago)
- Last Synced: 2025-03-31T14:28:53.988Z (6 months ago)
- Topics: clean-architecture, cloud, firebase-auth, flutter, mvvm-architecture, provider-state-management, real-time-chat, reposive, state-management, ui
- Language: Dart
- Homepage:
- Size: 91.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# App Flutter - Chat Online

## About the Project
The **Chat Online** is a simple chat application developed with **Flutter** and integrated with **Firebase** for authentication and real-time communication. It includes the following features:
- **Splash Screen**
- **Sign Up**
- **Login**
- **Conversations List**
- **Chat Screen**
- **Real-time Messaging**### Features
- **UI Design**: Simple and intuitive interface.
- **Firebase Integration**: Integration with Firebase for authentication and data storage.
- **Firebase Authentication**: User authentication with email and password.
- **Firestore Database Integration**: Use of Firestore as the database for storing and retrieving conversations.
- **Realtime Chat Functionality**: Real-time chat with sending and receiving messages.
- **Unread Message Counter**: Counter for unread messages.
- **Last Message shown**: Displays the last message in the conversations list.
- **Error Handling**: Robust error handling.
- **Optimization and Best Practices**: Optimized code with best practices.
- **Enhancement & Debugging**: Continuous improvement and code debugging.
- **Provider State Management**: State management using Provider.
- **MVVM Architecture**: Architecture based on the MVVM pattern.## Installation and Running the Project
Follow the steps below to set up and run the project on your machine:
### 1. Clone the repository
```bash
git clone https://github.com/raffashe/chat_online.git
cd chat_online
```### 2. Install Flutter dependencies
```bash
flutter pub get
```### 3. Set up Firebase
> **Note**: As the project is connected to Firebase, you will need to notify the developer to configure Firebase correctly in your testing environment. Contact them to get the configuration files (`google-services.json` for Android and `GoogleService-Info.plist` for iOS).### 4. Run the project
```bash
flutter run
```## Dependencies
The project uses the following dependencies:
| Dependency | Version | Description |
| --------------------- | -------- | ------------------------------------------------------------------------ |
| `firebase_core` | ^3.8.0 | Flutter integration with Firebase for app initialization. |
| `firebase_auth` | ^5.3.3 | User authentication using Firebase Authentication. |
| `cloud_firestore` | ^5.5.0 | Real-time NoSQL database provided by Firebase Firestore. |
| `firebase_storage` | ^12.3.6 | File and media storage in Firebase Storage. |
| `provider` | ^6.1.2 | Simple state management using the Provider approach. |
| `flutter_screenutil` | ^5.9.3 | Tool for responsive UI design. |
| `cupertino_icons` | ^1.0.8 | Cupertino-style icon package for iOS. |
| `flutter_lints` (dev) | ^4.0.0 | Recommended set of lints for good coding practices in Flutter. |
| `flutter_test` (dev) | | Testing framework for Flutter applications. |## Notes
- Firebase needs to be properly configured for the project to work. This includes adding Firebase configuration files for both Android and iOS.
- Make sure to use the compatible Flutter SDK version as specified in the `pubspec.yaml` file.