BlueLink Messenger Application
Login page
Home page
File sharing
BlueLink AI

Overview BlueLink is a Java-based desktop messenger application built using Java and JavaFX. It provides secure real-time communication with support for one-to-one messaging, group chats, file sharing, and an integrated local AI assistant powered by llama.cpp.
The application follows a client-server architecture where the backend manages authentication, message routing, chat history, file transfers, and AI requests, while the JavaFX frontend provides an interactive desktop interface.
Features User Registration and Login
Secure Authentication
One-to-One Messaging
Group Messaging
Persistent Chat History
File Sharing
Multiple Client Support
Local AI Chat Integration
Cross-Platform Support (Windows & Linux)
JavaFX Desktop Interface
Project Structure BlueLink/ │ ├── backendmain/ │ ├── ai/ │ │ └── runtime/ │ │ ├── bin/ │ │ └── model/ │ ├── chat_history/ │ ├── group_history/ │ ├── received_files/ │ └── ... │ ├── frontend/ │ ├── src/ │ ├── received_files/ │ └── ... │ └── javafx-sdk-11/ Requirements Java JDK 11
JavaFX SDK 11
Windows or Linux
Local AI Runtime (llama.cpp)
AI Runtime Structure The following structure must exist inside the backend:
backendmain/ └── ai/ └── runtime/ ├── bin/ │ ├── llama-cli │ └── llama-cli.exe └── model/ └── Llama-3.2-3B-Instruct-Q4_K_M.gguf The application automatically detects the operating system and uses the appropriate executable.
Running the Application (Linux)
- Start the Backend cd ~/BlueLink/backendmain
find . -name "*.java" > sources.txt
rm -rf out mkdir out
javac -d out @sources.txt
java -cp out Server Expected output:
Waiting for clients... Leave this terminal running.
- Compile and Run the Frontend Open a new terminal.
cd ~/BlueLink/frontend
find src -name "*.java" > sources.txt
rm -rf out mkdir out
javac
--module-path ~/BlueLink/javafx-sdk-11/lib
--add-modules javafx.controls,javafx.fxml
-d out
@sources.txt
cp -r src/main/resources/* out/
java
--module-path ~/BlueLink/javafx-sdk-11/lib
--add-modules javafx.controls,javafx.fxml
-cp out
com.messenger.Main
3. Launch a Second Client
Open another terminal and run:
cd ~/BlueLink/frontend
java
--module-path ~/BlueLink/javafx-sdk-11/lib
--add-modules javafx.controls,javafx.fxml
-cp out
com.messenger.Main
No recompilation is required unless source files have changed.
Running the Application (Windows) Backend cd backendmain
dir /s /b *.java > sources.txt
rmdir /s /q out mkdir out
javac -d out @sources.txt
java -cp out Server Frontend cd frontend
dir /s /b src*.java > sources.txt
rmdir /s /q out mkdir out
javac --module-path "..\javafx-sdk-11\lib" --add-modules javafx.controls,javafx.fxml -d out @sources.txt
xcopy src\main\resources out /E /I /Y
java --module-path "..\javafx-sdk-11\lib" --add-modules javafx.controls,javafx.fxml -cp out com.messenger.Main Testing Checklist Verify the following after launching the application:
User Registration
User Login
One-to-One Messaging
Group Messaging
Chat History
File Sharing
AI Chat
Multiple Frontend Instances
Message Delivery
File Opening
Cross-Platform Compatibility
Technologies Used Java 11
JavaFX 11
Java Socket Programming
Multithreading
File I/O
Base64 Encoding
llama.cpp
GGUF Language Models
Notes Keep the backend server running before launching any frontend instances.
Ensure the JavaFX SDK path is correctly configured.
The AI runtime folder must be present for AI functionality.
The application automatically detects the operating system and uses the correct AI executable.
Authors BlueLink Messenger Application Developed as a Java Desktop Messaging Platform with integrated local AI support.