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.
- 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.
- Clone the Repository: Clone the project to your local machine.
- Install Dependencies: Navigate to the project directory and run
flutter pub get
to install the required dependencies. - 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.
- 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.)
- Flutter: For creating the cross-platform mobile application.
- flutter_chat_ui: A Flutter package used for the chat interface.
- lib/main.dart: The entry point of the application containing the main chat UI and logic.
- pubspec.yaml: Contains project metadata and dependencies.
This project was developed as part of a university lab exercise in mobile application development using Flutter.