/defense-communication

🪖 Java based real-time messaging application primarily designed for communication in military operations

Primary LanguageJava

DEFENSE COMMUNICATION

Java based real-time messaging application primarily designed for communication in military operations


PROTOTYPE VIDEO

video.mov



HOW TO EXECUTE

Terminal

git clone https://github.com/raghavtwenty/defense-communicatio.git

  1. Open this repo in VS Code
  2. In the left bottom, Java > "Referenced Libraries" click "+"
  3. Choose "javafx-sdk-20.0.1" inside dependencies folder of this repo
  4. Change path in settings.json
    "/Users/raghava/Desktop/defense-communication/dependencies/javafx-sdk-20.0.1/**/*.jar" replace with your JavaFX path
{
    "java.project.sourcePaths": [
        "src"
    ],
    "java.project.outputPath": "bin",
    "java.project.referencedLibraries": [
        "lib/**/*.jar",
        "/Users/raghava/Desktop/defense-communication/dependencies/javafx-sdk-20.0.1/**/*.jar"
    ]
}
  1. Change path in launch.json
"vmArgs": "--module-path /Users/raghava/Desktop/defense-communication/dependencies/javafx-sdk-20.0.1/lib --add-modules javafx.controls,javafx.fxml"

"/Users/raghava/Desktop/defense-communication/dependencies/javafx-sdk-20.0.1/lib" replace with your JavaFX path



PROBLEM STATEMENT

Develop a Java application that implements networking concepts to facilitate communication between multiple clients and a central server. The application should allow clients to connect to the server over a network and exchange messages in real-time. The server should be capable of managing multiple client connections concurrently and relaying messages between clients as needed.


OBJECTIVE

Develop a GUI-based Java application tailored for military scenarios, providing seamless real-time messaging capabilities. The application aims to empower military personnel with an intuitive interface for sending and receiving messages swiftly, enhancing communication efficiency in the field. Additionally, the application will feature custom quick reply messages, enabling users to respond promptly to incoming messages with predefined responses, further streamlining communication in dynamic operational environments.


INTRODUCTION

The Defense Communication project is a Java-based real-time messaging application specifically designed to facilitate communication within military operations. This application employs networking concepts and GUI-based interfaces to streamline messaging among military personnel in the field. With a focus on concurrency and UDP connections, the application ensures efficient and reliable communication, enhancing situational awareness and operational effectiveness.


CONCEPTS USED

  • Client-Server architecture
  • Threading, Concurrency
  • UDP Connection
  • Analysis & Validation of Datagram Packets
  • JavaFX GUI


WORKING

  1. The application follows a client-server architecture, with clients connecting to a central server over a network.
  2. Clients send messages to the server, which relays them to other connected clients in real-time.
  3. The server analyzes incoming messages, verifies their integrity through checksum values, Cyclic Redundancy Check (CRC), and ensures they are not corrupted.
  4. Threading is used to handle multiple client connections concurrently, allowing for simultaneous message exchanges without blocking.
  5. Predefined quick reply messages streamline communication, enabling users to respond promptly to common scenarios in military operations.


END USERS

  1. Students
  2. Armed Forces


OUTPUTS

  • Login Screen

    1

  • Login Screen

    2

  • Home Screen

    3

  • Messaging Screen (Team: Alpha)

    4

  • Messaging Screen (Team: Beta)

    5

  • Messaging Screen (Team: Gamma)

    6

  • Server Side Logs & Validation

    7

  • Overall Login Screen

    8

  • Overall Messaging Screen

    9



FUTURE SCOPE

The integration with drones allows the server file to be deployed directly onto the drone, enabling seamless communication between troops. The application is designed to accommodate future enhancements and customizations to further improve its functionality and utility in military operations.

END OF README