LiveChat is a real-time communication application designed to showcase immediate, character-by-character message visibility. Unlike traditional chat applications where messages only appear after hitting 'Send,' LiveChat displays the live draft of the message as it is being typed by any participant in the room.
This core feature provides a highly fluid and collaborative feel, similar to seeing live edits in tools like Google Docs or Word Online.
This repository contains two main parts:
- client_side/ – Flutter mobile application
- server-side/ – Node.js + Express + MongoDB backend
Below are the steps required to install dependencies and run the project locally.
Make sure the following are installed on your system:
- Flutter SDK
- Node.js
- Android Studio (for Android development)
- Xcode (for iOS development)
Verify installations:
flutter --version
node --version
npm --versionThese steps describe how to run the Flutter app targeting an Android Emulator or a physical Android device.
Download and install Android Studio
During installation, ensure the following components are installed:
- Android SDK
- Android SDK Platform-Tools
- Android SDK Command-line Tools
- Android Emulator
-
Open Android Studio
-
Go to Settings / Preferences → Android SDK
-
Under SDK Platforms, install at least one recent Android version (API 33+ recommended)
-
Under SDK Tools, ensure the following are checked:
- Android SDK Command-line Tools (latest)
- Android SDK Platform-Tools
- Android SDK Build-Tools
Apply and close settings.
Run:
flutter doctor --android-licensesAccept all licenses when prompted.
flutter doctorEnsure Android toolchain shows no critical errors.
From Android Studio:
- Open Device Manager
- Create a new virtual device (Pixel recommended)
- Start the emulator
Alternatively, start an existing emulator:
flutter emulators
flutter emulators --launch <emulator_id>From the Flutter project root:
cd client_side
flutter pub getflutter devicesEnsure an Android Emulator or physical Android device is listed.
flutter runFlutter will build and launch the app on the Android emulator or connected device.
These steps describe how to run the Flutter app targeting iOS Simulator.
Install Flutter without targeting any specific platform initially. Ensure Flutter works on your machine:
flutter doctorFix any critical issues reported before continuing.
CocoaPods is required for iOS Flutter plugins:
sudo gem install cocoapods
pod setupVerify installation:
pod --version- Open Xcode
- If prompted, install required iOS SDK components
- Accept the Xcode license if asked
sudo xcodebuild -license acceptopen -a SimulatorFrom the Flutter project root:
cd client_side
flutter pub getflutter devicesEnsure an iOS Simulator is listed.
flutter runFlutter will automatically build and launch the app on the simulator.
The backend is a Node.js + Express server connected to MongoDB.
cd server-sidenpm installIn the server-side directory, create a .env file:
touch .envAdd the MongoDB connection string:
MONGO_URI=mongodb+srv://<username>:<password>@<cluster>.mongodb.net/<dbname>Run the server from the server-side directory:
npm run devIf configured correctly, the server will connect to MongoDB and start listening for requests.