Skip to content

ADT2812/BELBlueLink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BlueLink Messenger Application

Login page image Home page image File sharing image BlueLink AI image

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)

  1. 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.

  1. 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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors