/flutter-chat

This project is a chat application developed using Flutter. It serves as a laboratory exercise for university, focusing on implementing various functionalities commonly found in chat applications.

Primary LanguageC++

Flutter Chat Application

Overview

This project is a chat application developed using Flutter. It serves as a laboratory exercise for university, focusing on implementing various functionalities commonly found in chat applications. The project demonstrates the use of Flutter and related technologies to create a mobile application capable of real-time messaging.

Features

  • Basic Chat Functionality: Users can send and receive text messages in real time.
  • Custom Chat UI: Implemented using the flutter_chat_ui package, providing a user-friendly interface for chat interactions.
  • Message Handling: Includes sending, receiving, and displaying messages within the chat interface.
  • Nickname Display: Messages show the sender's nickname above each message, differentiating between the current user and others.
  • File Attachment Feature: A feature to attach files in messages, similar to popular messaging apps like Telegram. (Note: This is a UI feature; actual file handling/backend integration is not implemented.)
  • Custom Input Field: A text input field with an additional button for attaching files, enhancing the chat functionality.

Setup and Installation

  1. Clone the Repository: Clone the project to your local machine.
  2. Install Dependencies: Navigate to the project directory and run flutter pub get to install the required dependencies.
  3. Open and Run: Open the project in your preferred IDE (e.g., Visual Studio Code) and run the application using a Flutter-supported device or emulator.

Usage

  • Sending Messages: Type your message in the input field and tap the send button to send a message.
  • Attaching Files: Tap the attach button (paperclip icon) to simulate attaching a file. (Note: This functionality is UI-only in the current implementation.)

Technologies Used

  • Flutter: For creating the cross-platform mobile application.
  • flutter_chat_ui: A Flutter package used for the chat interface.

Project Structure

  • lib/main.dart: The entry point of the application containing the main chat UI and logic.
  • pubspec.yaml: Contains project metadata and dependencies.

Acknowledgements

This project was developed as part of a university lab exercise in mobile application development using Flutter.