Skip to content
/ twinkle Public template

This repository contains the code for a chat application built with Flutter and Firebase. It features real-time messaging, user authentication, message editing, a typing indicator, and a responsive user interface that adapts to different screen sizes and orientations.

License

Notifications You must be signed in to change notification settings

farhansadikgalib/twinkle

Repository files navigation


Twinkle - A Flutter Firebase Chat Application

This repository contains the code for a chat application built with Flutter and Firebase. It features real-time messaging, user authentication, message editing, a typing indicator, and a responsive user interface that adapts to different screen sizes and orientations.

Key Features

  • Real-time Messaging: Utilizes Firebase Firestore to enable real-time sending and receiving of messages.
  • User Authentication: Manages user authentication and data through Firebase.
  • Message Editing and Deletion: Allows users to modify or remove their messages after posting.
  • Typing Indicator: Displays an indicator when a user is typing.
  • Responsive UI: The interface adjusts to accommodate various device orientations and screen sizes.

Setup

Firebase Integration

The application is configured to use Firebase for backend services, providing a robust and scalable infrastructure.

Flutter

The frontend is developed using Flutter, making extensive use of its comprehensive widget library and efficient state management.

Android Configuration

Necessary permissions and configurations are set in the AndroidManifest.xml file to ensure proper functionality on Android devices.

Firestore Service

The FirestoreService class handles all interactions with Firebase Firestore, including operations like sending, receiving, updating, and deleting messages.

Code Structure

  • ChatView: This is the primary UI component where users interact with the chat interface.
  • FirestoreService: A dedicated service class for managing Firestore operations.
  • firebase_options.dart: Contains configuration options for Firebase on various platforms.

Getting Started

To get started with this project, follow these steps:

  1. Clone the repository: git clone https://github.com/farhansadikgalib/twinkle.git
  2. Install dependencies: Run flutter pub get in the project directory.
  3. Setup Firebase: Ensure that your Firebase project is set up and that the firebase_options.dart file is correctly configured for your environment.
  4. Run the app: Execute flutter run in the terminal within the project directory to launch the application on your device or emulator.

Screenshots

Splash screen Auth Page Chat Page
alt text alt text alt text

Contributions

Contributions are welcome! If you have improvements or bug fixes, please fork the repository and submit a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.


#FlutterFirebaseChat #RealTimeChatApp #FlutterChatApp #FirebaseMessaging #FlutterDevs

About

This repository contains the code for a chat application built with Flutter and Firebase. It features real-time messaging, user authentication, message editing, a typing indicator, and a responsive user interface that adapts to different screen sizes and orientations.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published